77 #ifndef G4LossTableManager_h
78 #define G4LossTableManager_h 1
309 void CopyDEDXTables();
318 std::map<PD,G4VEnergyLossProcess*,std::less<PD> > loss_map;
320 std::vector<G4VEnergyLossProcess*> loss_vector;
321 std::vector<PD> part_vector;
322 std::vector<PD> base_part_vector;
323 std::vector<G4bool> tables_are_built;
324 std::vector<G4bool> isActive;
325 std::vector<G4PhysicsTable*> dedx_vector;
326 std::vector<G4PhysicsTable*> range_vector;
327 std::vector<G4PhysicsTable*> inv_range_vector;
328 std::vector<G4VMultipleScattering*> msc_vector;
329 std::vector<G4VEmProcess*> emp_vector;
330 std::vector<G4VEmModel*> mod_vector;
331 std::vector<G4VEmFluctuationModel*> fmod_vector;
343 G4bool all_tables_are_built;
344 G4bool startInitialisation;
346 G4bool lossFluctuationFlag;
354 G4bool maxEnergyForMuonsActive;
355 G4bool stepFunctionActive;
378 G4int nbinsPerDecade;
G4EmConfigurator * EmConfigurator()
void SetRandomStep(G4bool val)
G4bool SplineFlag() const
static G4LossTableManager * Instance()
G4double GetDEDX(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
void SetBremsstrahlungTh(G4double val)
G4double GetDEDXDispersion(const G4MaterialCutsCouple *couple, const G4DynamicParticle *dp, G4double &length)
void DeRegister(G4VEnergyLossProcess *p)
void SetLambdaBinning(G4int val)
G4double GetSubDEDX(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
G4bool BuildCSDARange() const
G4EnergyLossMessenger * GetMessenger()
G4double FactorForAngleLimit() const
void SetFactorForAngleLimit(G4double val)
const std::vector< G4VEmProcess * > & GetEmProcessVector()
G4double GetCSDARange(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
G4LossTableBuilder * GetTableBuilder()
void SetBuildCSDARange(G4bool val)
G4double MinKinEnergy() const
void SetLPMFlag(G4bool val)
const G4ParticleDefinition const G4Material *G4double range
G4EmCorrections * EmCorrections()
G4ElectronIonPair * ElectronIonPair()
G4EmSaturation * EmSaturation()
void SetMaxEnergyForCSDARange(G4double val)
void Register(G4VEnergyLossProcess *p)
void SetDEDXBinningForCSDARange(G4int val)
G4double GetEnergy(const G4ParticleDefinition *aParticle, G4double range, const G4MaterialCutsCouple *couple)
const std::vector< G4VEnergyLossProcess * > & GetEnergyLossProcessVector()
void SetSubCutoff(G4bool val, const G4Region *r=0)
G4double BremsstrahlungTh() const
G4double GetRangeFromRestricteDEDX(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
void RegisterExtraParticle(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
void SetMinSubRange(G4double val)
void SetMinEnergy(G4double val)
G4VEnergyLossProcess * GetEnergyLossProcess(const G4ParticleDefinition *)
void SetMaxEnergy(G4double val)
void SetStepFunction(G4double v1, G4double v2)
void BuildPhysicsTable(const G4ParticleDefinition *aParticle)
void SetLinearLossLimit(G4double val)
G4int GetNumberOfBinsPerDecade() const
void PreparePhysicsTable(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p, G4bool theMaster)
void SetVerbose(G4int val)
void LocalPhysicsTables(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
void SetDEDXBinning(G4int val)
void SetMaxEnergyForMuons(G4double val)
void SetIntegral(G4bool val)
void SetLossFluctuations(G4bool val)
G4VAtomDeexcitation * AtomDeexcitation()
G4double MaxKinEnergy() const
G4double GetRange(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
void SetAtomDeexcitation(G4VAtomDeexcitation *)
void SetSplineFlag(G4bool val)
const std::vector< G4VMultipleScattering * > & GetMultipleScatteringVector()