"MarlinReco"  1.32.0
MyG4UniversalFluctuationForSi.h
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 
53 public:
54 
56 
58 
59  // momentum in MeV/c, mass in MeV, tmax (delta cut) in MeV,
60  // length in mm, meanLoss eloss in MeV.
61  double SampleFluctuations(const double momentum,
62  const double mass,
63  double& tmax,
64  const double length,
65  const double meanLoss);
66 
67  //G4double Dispersion( const G4Material*,
68  // const G4DynamicParticle*,
69  // G4double&,
70  // G4double&);
71  //void Initialise(const G4ParticleDefinition*);
72 
73 protected:
74 
75 private:
76 
77  // hide assignment operator
78  //G4UniversalFluctuation & operator=(const G4UniversalFluctuation &right);
79  //G4UniversalFluctuation(const G4UniversalFluctuation&);
80 
81  //const G4ParticleDefinition* particle;
82  //const G4Material* lastMaterial;
83 
84  double particleMass{};
85  double chargeSquare{};
86 
87  // data members to speed up the fluctuation calculation
88  double ipotFluct{};
89  double electronDensity{};
90  // G4double zeff;
91 
92  double f1Fluct{};
93  double f2Fluct{};
94  double e1Fluct{};
95  double e2Fluct{};
96  double rateFluct{};
97  double e1LogFluct{};
98  double e2LogFluct{};
99  double ipotLogFluct{};
100  double e0{};
101 
102  double minNumberInteractionsBohr{};
103  double theBohrBeta2{};
104  double minLoss{};
105  double problim{};
106  double sumalim{};
107  double alim{};
108  int nmaxCont1{};
109  int nmaxCont2{};
110 
111 };
112 
113 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
114 
115 #endif
Definition: MyG4UniversalFluctuationForSi.h:52