Geant4.10
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4.10.00.p01
source
processes
electromagnetic
utils
include
G4VEmFluctuationModel.hh
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
// $Id: G4VEmFluctuationModel.hh 76333 2013-11-08 14:31:50Z gcosmo $
27
//
28
// -------------------------------------------------------------------
29
//
30
// GEANT4 Class header file
31
//
32
//
33
// File name: G4VEmFluctuationModel
34
//
35
// Author: Vladimir Ivanchenko
36
//
37
// Creation date: 03.01.2002
38
//
39
// Modifications:
40
//
41
// 28-12-02 add method Dispersion (V.Ivanchenko)
42
// 07-02-03 change signature (V.Ivanchenko)
43
// 13-02-03 Add name (V.Ivanchenko)
44
// 16-10-03 Changed interface to Initialisation (V.Ivanchenko)
45
// 08-04-05 Major optimisation of internal interfaces (V.Ivantchenko)
46
// 25-07-05 Move constructor and destructor to the body (V.Ivanchenko)
47
//
48
//
49
// Class Description:
50
//
51
// Abstract class for interface to simualtion of energy loss fluctuations
52
53
// -------------------------------------------------------------------
54
//
55
56
#ifndef G4VEmFluctuationModel_h
57
#define G4VEmFluctuationModel_h 1
58
59
60
#include "
globals.hh
"
61
62
class
G4ParticleDefinition
;
63
class
G4DynamicParticle
;
64
class
G4Material
;
65
class
G4MaterialCutsCouple
;
66
class
G4LossTableManager
;
67
68
class
G4VEmFluctuationModel
69
{
70
71
public
:
72
73
G4VEmFluctuationModel
(
const
G4String
& nam);
74
75
virtual
~G4VEmFluctuationModel
();
76
77
//------------------------------------------------------------------------
78
// Virtual methods to be implemented for the concrete model
79
//------------------------------------------------------------------------
80
81
virtual
G4double
SampleFluctuations
(
const
G4MaterialCutsCouple
*,
82
const
G4DynamicParticle
*,
83
G4double
tmax,
84
G4double
length,
85
G4double
meanLoss) = 0;
86
87
virtual
G4double
Dispersion
(
const
G4Material
*,
88
const
G4DynamicParticle
*,
89
G4double
tmax,
90
G4double
length) = 0;
91
92
//------------------------------------------------------------------------
93
// Methods with standard implementation; may be overwritten if needed
94
//------------------------------------------------------------------------
95
96
virtual
void
InitialiseMe
(
const
G4ParticleDefinition
*);
97
98
virtual
void
SetParticleAndCharge
(
const
G4ParticleDefinition
*,
G4double
q2);
99
100
//------------------------------------------------------------------------
101
// Generic methods common to all models
102
//------------------------------------------------------------------------
103
104
inline
G4String
GetName
()
const
;
105
106
private
:
107
108
// hide assignment operator
109
G4VEmFluctuationModel
& operator=(
const
G4VEmFluctuationModel
&
right
);
110
G4VEmFluctuationModel
(
const
G4VEmFluctuationModel
&);
111
112
const
G4String
name
;
113
G4LossTableManager
* fManager;
114
};
115
116
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
117
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
118
119
inline
G4String
G4VEmFluctuationModel::GetName
()
const
120
{
121
return
name
;
122
}
123
124
#endif
125
G4LossTableManager
Definition:
G4LossTableManager.hh:100
G4VEmFluctuationModel::SampleFluctuations
virtual G4double SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmax, G4double length, G4double meanLoss)=0
right
Definition:
F04UserTrackInformation.hh:37
G4Material
Definition:
G4Material.hh:118
G4DynamicParticle
Definition:
G4DynamicParticle.hh:73
name
const XML_Char * name
Definition:
include/expat.h:151
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:111
G4VEmFluctuationModel::Dispersion
virtual G4double Dispersion(const G4Material *, const G4DynamicParticle *, G4double tmax, G4double length)=0
G4MaterialCutsCouple
Definition:
G4MaterialCutsCouple.hh:50
G4VEmFluctuationModel::InitialiseMe
virtual void InitialiseMe(const G4ParticleDefinition *)
Definition:
G4VEmFluctuationModel.cc:67
globals.hh
G4VEmFluctuationModel
Definition:
G4VEmFluctuationModel.hh:68
G4double
double G4double
Definition:
G4Types.hh:76
G4VEmFluctuationModel::G4VEmFluctuationModel
G4VEmFluctuationModel(const G4String &nam)
Definition:
G4VEmFluctuationModel.cc:55
G4VEmFluctuationModel::~G4VEmFluctuationModel
virtual ~G4VEmFluctuationModel()
Definition:
G4VEmFluctuationModel.cc:62
G4VEmFluctuationModel::SetParticleAndCharge
virtual void SetParticleAndCharge(const G4ParticleDefinition *, G4double q2)
Definition:
G4VEmFluctuationModel.cc:70
G4String
Definition:
examples/extended/parallel/TopC/ParN02/AnnotatedFiles/G4String.hh:45
G4VEmFluctuationModel::GetName
G4String GetName() const
Definition:
G4VEmFluctuationModel.hh:119
Generated on Wed Apr 30 2014 15:55:09 for Geant4.10 by
1.8.7