All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
MyG4UniversalFluctuationForSi.h
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * DISCLAIMER *
4 // * *
5 // * The following disclaimer summarizes all the specific disclaimers *
6 // * of contributors to this software. The specific disclaimers,which *
7 // * govern, are listed with their locations in: *
8 // * http://cern.ch/geant4/license *
9 // * *
10 // * Neither the authors of this software system, nor their employing *
11 // * institutes,nor the agencies providing financial support for this *
12 // * work make any representation or warranty, express or implied, *
13 // * regarding this software system or assume any liability for its *
14 // * use. *
15 // * *
16 // * This code implementation is the intellectual property of the *
17 // * GEANT4 collaboration. *
18 // * By copying, distributing or modifying the Program (or any work *
19 // * based on the Program) you indicate your acceptance of this *
20 // * statement, and all its terms. *
21 // ********************************************************************
22 //
23 //
24 // -------------------------------------------------------------------
25 //
26 // GEANT4 Class header file
27 //
28 //
29 // File name: G4UniversalFluctuation
30 //
31 // Author: Vladimir Ivanchenko
32 //
33 // Creation date: 03.01.2002
34 //
35 // Modifications:
36 //
37 // 09-12-02 remove warnings (V.Ivanchenko)
38 // 28-12-02 add method Dispersion (V.Ivanchenko)
39 // 07-02-03 change signature (V.Ivanchenko)
40 // 13-02-03 Add name (V.Ivanchenko)
41 // Modified for standalone use in ORCA. d.k. 6/04
42 //
43 // Implementation of energy loss fluctuations
44 // -------------------------------------------------------------------
45 //
46 
47 #ifndef MyG4UniversalFluctuationForSi_h
48 #define MyG4UniversalFluctuationForSi_h
49 
50 //#include "G4VEmFluctuationModel.hh"
51 
52 /**
53 \addtogroup TrackDigi TrackDigi
54 @{
55 */
56 
58 public:
59 
61 
63 
64  // momentum in MeV/c, mass in MeV, tmax (delta cut) in MeV,
65  // length in mm, meanLoss eloss in MeV.
66  double SampleFluctuations(const double momentum,
67  const double mass,
68  double& tmax,
69  const double length,
70  const double meanLoss);
71 
72  //G4double Dispersion( const G4Material*,
73  // const G4DynamicParticle*,
74  // G4double&,
75  // G4double&);
76  //void Initialise(const G4ParticleDefinition*);
77 
78 protected:
79 
80 private:
81 
82  // hide assignment operator
83  //G4UniversalFluctuation & operator=(const G4UniversalFluctuation &right);
84  //G4UniversalFluctuation(const G4UniversalFluctuation&);
85 
86  //const G4ParticleDefinition* particle;
87  //const G4Material* lastMaterial;
88 
89  double particleMass{};
90  double chargeSquare{};
91 
92  // data members to speed up the fluctuation calculation
93  double ipotFluct{};
94  double electronDensity{};
95  // G4double zeff;
96 
97  double f1Fluct{};
98  double f2Fluct{};
99  double e1Fluct{};
100  double e2Fluct{};
101  double rateFluct{};
102  double e1LogFluct{};
103  double e2LogFluct{};
104  double ipotLogFluct{};
105  double e0{};
106 
108  double theBohrBeta2{};
109  double minLoss{};
110  double problim{};
111  double sumalim{};
112  double alim{};
113  int nmaxCont1{};
114  int nmaxCont2{};
115 
116 };
117 
118 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
119 /** @} */
120 #endif
double SampleFluctuations(const double momentum, const double mass, double &tmax, const double length, const double meanLoss)