File indexing completed on 2026-07-13 08:21:04
0001
0002 #ifndef G4HepEmElectronTableBuilder_HH
0003 #define G4HepEmElectronTableBuilder_HH
0004
0005
0006
0007
0008 class G4VEmModel;
0009 class G4MollerBhabhaModel;
0010 class G4SeltzerBergerModel;
0011 class G4eBremsstrahlungRelModel;
0012 class G4ParticleDefinition;
0013 class G4CrossSectionDataStore;
0014
0015
0016 struct G4HepEmData;
0017 struct G4HepEmParameters;
0018 struct G4HepEmMatData;
0019
0020
0021
0022
0023 void BuildELossTables(G4MollerBhabhaModel* mbModel, G4SeltzerBergerModel* sbModel,
0024 G4eBremsstrahlungRelModel* rbModel, struct G4HepEmData* hepEmData,
0025 struct G4HepEmParameters* hepEmParams, bool iselectron);
0026
0027 void BuildLambdaTables(G4MollerBhabhaModel* mbModel, G4SeltzerBergerModel* sbModel,
0028 G4eBremsstrahlungRelModel* rbModel, struct G4HepEmData* hepEmData,
0029 struct G4HepEmParameters* hepEmParams, bool iselectron);
0030
0031 void BuildNuclearLambdaTables(G4CrossSectionDataStore* hadENucXSDataStore,
0032 struct G4HepEmData* hepEmData, struct G4HepEmParameters* hepEmParams,
0033 bool iselectron);
0034
0035 void BuildTransportXSectionTables(G4VEmModel* mscModel, struct G4HepEmData* hepEmData,
0036 struct G4HepEmParameters* hepEmParams, bool iselectron);
0037
0038 void BuildElementSelectorTables(G4MollerBhabhaModel* mbModel, G4SeltzerBergerModel* sbModel,
0039 G4eBremsstrahlungRelModel* rbModel, struct G4HepEmData* hepEmData,
0040 struct G4HepEmParameters* hepEmParams, bool iselectron);
0041
0042
0043 void BuildElementSelector(double minEKin, double maxEKin, int numBinsPerDecade, double *data, int& indxCont, const struct G4HepEmMatData& matData, G4VEmModel* emModel, double cut, const G4ParticleDefinition* g4PartDef);
0044
0045 int InitElementSelectorEnergyGrid(int binsperdecade, double* egrid, double mine, double maxe,
0046 double& logMinEnergy, double& invLEDelta);
0047
0048 void BuildSBBremSTables(struct G4HepEmData* hepEmData, struct G4HepEmParameters* hepEmPars, G4SeltzerBergerModel* sbModel);
0049
0050 #endif