Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/electromagnetic/utils/include/G4EmTableUtil.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/electromagnetic/utils/include/G4EmTableUtil.hh (Version 11.3.0) and /processes/electromagnetic/utils/include/G4EmTableUtil.hh (Version 9.4.p3)


  1 //                                                  1 
  2 // *******************************************    
  3 // * License and Disclaimer                       
  4 // *                                              
  5 // * The  Geant4 software  is  copyright of th    
  6 // * the Geant4 Collaboration.  It is provided    
  7 // * conditions of the Geant4 Software License    
  8 // * LICENSE and available at  http://cern.ch/    
  9 // * include a list of copyright holders.         
 10 // *                                              
 11 // * Neither the authors of this software syst    
 12 // * institutes,nor the agencies providing fin    
 13 // * work  make  any representation or  warran    
 14 // * regarding  this  software system or assum    
 15 // * use.  Please see the license in the file     
 16 // * for the full disclaimer and the limitatio    
 17 // *                                              
 18 // * This  code  implementation is the result     
 19 // * technical work of the GEANT4 collaboratio    
 20 // * By using,  copying,  modifying or  distri    
 21 // * any work based  on the software)  you  ag    
 22 // * use  in  resulting  scientific  publicati    
 23 // * acceptance of all terms of the Geant4 Sof    
 24 // *******************************************    
 25 //                                                
 26 //                                                
 27 // Geant4 header G4EmTableUtil                    
 28 //                                                
 29 // Author V.Ivanchenko 14.03.2022                 
 30 //                                                
 31 // Utilities used at initialisation of EM phys    
 32 //                                                
 33                                                   
 34 #ifndef G4EmTableUtil_h                           
 35 #define G4EmTableUtil_h 1                         
 36                                                   
 37 #include "globals.hh"                             
 38 #include "G4PhysicsTable.hh"                      
 39 #include "G4VMultipleScattering.hh"               
 40 #include "G4VEmProcess.hh"                        
 41 #include "G4VEnergyLossProcess.hh"                
 42 #include "G4EmModelManager.hh"                    
 43 #include "G4LossTableBuilder.hh"                  
 44 #include "G4ParticleDefinition.hh"                
 45 #include "G4MscStepLimitType.hh"                  
 46 #include "G4DataVector.hh"                        
 47                                                   
 48 class G4EmTableUtil                               
 49 {                                                 
 50 public:                                           
 51                                                   
 52   static const G4DataVector*                      
 53   PrepareEmProcess(G4VEmProcess* proc,            
 54                    const G4ParticleDefinition*    
 55                    const G4ParticleDefinition*    
 56        G4EmModelManager* modelManager,            
 57                    const G4double& maxKinEnerg    
 58        G4int& secID, G4int& tripletID,            
 59                    G4int& mainSec, const G4int    
 60                    const G4bool& master);         
 61                                                   
 62   static void BuildEmProcess(G4VEmProcess* pro    
 63                              const G4VEmProces    
 64            const G4ParticleDefinition* firstPa    
 65            const G4ParticleDefinition* part,      
 66            const G4int nModels, const G4int ve    
 67                              const G4bool mast    
 68                              const G4bool toBu    
 69                                                   
 70   static void BuildLambdaTable(G4VEmProcess* p    
 71                                const G4Particl    
 72                                G4EmModelManage    
 73              G4LossTableBuilder* bld,             
 74                                G4PhysicsTable*    
 75                                G4PhysicsTable*    
 76                                const G4double     
 77                                const G4double     
 78                                const G4double     
 79                                const G4double     
 80                                const G4int ver    
 81                                const G4bool st    
 82                                const G4bool sp    
 83                                                   
 84   static void BuildLambdaTable(G4VEnergyLossPr    
 85                                const G4Particl    
 86                                G4EmModelManage    
 87              G4LossTableBuilder* bld,             
 88                                G4PhysicsTable*    
 89                                const G4DataVec    
 90                                const G4double     
 91                                const G4double     
 92                                const G4double     
 93                                const G4int ver    
 94                                const G4bool sp    
 95                                                   
 96   static const G4ParticleDefinition* CheckIon(    
 97                                G4VEnergyLossPr    
 98                                const G4Particl    
 99                                const G4Particl    
100                                const G4int ver    
101                                                   
102   static void UpdateModels(G4VEnergyLossProces    
103          G4EmModelManager* modelManager,          
104                            const G4double maxK    
105                            const G4int nModels    
106                            G4int& secID, G4int    
107                            G4int& mainSecondar    
108                            const G4bool isMast    
109                                                   
110   static void BuildLocalElossProcess(G4VEnergy    
111              const G4VEnergyLossProcess* maste    
112              const G4ParticleDefinition* part,    
113                                      const G4i    
114                                                   
115   static void BuildDEDXTable(G4VEnergyLossProc    
116            const G4ParticleDefinition* part,      
117            G4EmModelManager* modelManager,        
118            G4LossTableBuilder* bld,               
119            G4PhysicsTable* table,                 
120            const G4double minKinEnergy,           
121            const G4double maxKinEnergy,           
122            const G4int nbins,                     
123            const G4int verbose,                   
124            const G4EmTableType tType,             
125            const G4bool splineFlag);              
126                                                   
127   static void PrepareMscProcess(G4VMultipleSca    
128                                 const G4Partic    
129               G4EmModelManager* modelManager,     
130               G4MscStepLimitType& stepLimit,      
131                                 G4double& facr    
132               G4bool& latDisplacement, G4bool&    
133               G4bool& isIon, G4bool& baseMat);    
134                                                   
135   static void BuildMscProcess(G4VMultipleScatt    
136                               const G4VMultipl    
137                   const G4ParticleDefinition&     
138                   const G4ParticleDefinition*     
139                   G4int nModels, G4bool master    
140                                                   
141   static G4bool StoreMscTable(G4VMultipleScatt    
142                               const G4Particle    
143                               const G4String&     
144             const G4int nModels, const G4int v    
145                               const G4bool asc    
146                                                   
147   static G4bool StoreTable(G4VProcess*, const     
148                            G4PhysicsTable*, co    
149                            const G4String& tna    
150                            G4bool ascii);         
151                                                   
152   static G4bool RetrieveTable(G4VProcess* ptr,    
153                               const G4Particle    
154                               G4PhysicsTable*     
155                               const G4String&     
156                               const G4int verb    
157                               const G4bool spl    
158                                                   
159 };                                                
160                                                   
161 #endif                                            
162                                                   
163                                                   
164