77 #ifndef G4LossTableManager_h
78 #define G4LossTableManager_h 1
313 std::map<PD,G4VEnergyLossProcess*,std::less<PD> >
loss_map;
375 std::map<PD,G4VEnergyLossProcess*,std::less<PD> >::const_iterator
pos;
G4double GetKineticEnergy(G4double &range, const G4MaterialCutsCouple *)
G4VSubCutProducer * SubCutProducer()
G4EmConfigurator * EmConfigurator()
G4int NumberOfBinsPerDecade() const
void SetRandomStep(G4bool val)
G4double MaxKinEnergy() const
static G4LossTableManager * Instance()
G4VAtomDeexcitation * atomDeexcitation
G4double GetDEDX(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
G4VSubCutProducer * subcutProducer
G4double maxRangeVariation
G4double GetDEDX(G4double &kineticEnergy, const G4MaterialCutsCouple *)
std::vector< G4VEmModel * > mod_vector
G4double GetDEDXDispersion(const G4MaterialCutsCouple *couple, const G4DynamicParticle *dp, G4double &length)
G4ElectronIonPair * emElectronIonPair
void DeRegister(G4VEnergyLossProcess *p)
void SetLambdaBinning(G4int val)
G4EmSaturation * emSaturation
G4double GetSubDEDX(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
G4bool BuildCSDARange() const
static G4ThreadLocal G4LossTableManager * instance
G4double GetRangeForLoss(G4double &kineticEnergy, const G4MaterialCutsCouple *)
G4double GetCSDARange(G4double &kineticEnergy, const G4MaterialCutsCouple *)
G4EnergyLossMessenger * GetMessenger()
void CopyTables(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *)
std::vector< G4PhysicsTable * > range_vector
G4double GetDEDXForSubsec(G4double &kineticEnergy, const G4MaterialCutsCouple *)
const std::vector< G4VEmProcess * > & GetEmProcessVector()
G4double GetCSDARange(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
G4LossTableBuilder * GetTableBuilder()
std::map< PD, G4VEnergyLossProcess *, std::less< PD > > loss_map
G4EmConfigurator * emConfigurator
void SetBuildCSDARange(G4bool val)
G4VEnergyLossProcess * BuildTables(const G4ParticleDefinition *aParticle)
G4bool BuildCSDARange() const
void ParticleHaveNoLoss(const G4ParticleDefinition *aParticle)
void SetSubCutProducer(G4VSubCutProducer *)
void SetParameters(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *)
G4double MinKinEnergy() const
std::vector< G4VEmFluctuationModel * > fmod_vector
G4EmCorrections * EmCorrections()
G4VEnergyLossProcess * currentLoss
G4ElectronIonPair * ElectronIonPair()
G4EmSaturation * EmSaturation()
void SetMaxEnergyForCSDARange(G4double val)
G4bool startInitialisation
void Register(G4VEnergyLossProcess *p)
G4double MinKinEnergy() const
const G4ParticleDefinition * GetParticleDefinition() const
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 GetRangeFromRestricteDEDX(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
void RegisterExtraParticle(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
G4LossTableManager & operator=(const G4LossTableManager &right)
std::vector< G4PhysicsTable * > inv_range_vector
const G4ParticleDefinition * PD
void SetMinSubRange(G4double val)
G4EmParameters * theParameters
G4EmCorrections * emCorrections
void SetMinEnergy(G4double val)
G4VEnergyLossProcess * GetEnergyLossProcess(const G4ParticleDefinition *)
G4bool all_tables_are_built
void SetMaxEnergy(G4double val)
void SetStepFunction(G4double v1, G4double v2)
void BuildPhysicsTable(const G4ParticleDefinition *aParticle)
G4LossTableBuilder * tableBuilder
void SetLinearLossLimit(G4double val)
G4int GetNumberOfBinsPerDecade() const
std::vector< G4PhysicsTable * > dedx_vector
const G4double x[NPOINTSGL]
std::vector< G4VEnergyLossProcess * > loss_vector
void PreparePhysicsTable(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p, G4bool theMaster)
G4double GetDEDXDispersion(const G4MaterialCutsCouple *couple, const G4DynamicParticle *dp, G4double length)
void PrintEWarning(G4String, G4double)
void SetVerbose(G4int val)
void LocalPhysicsTables(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
void SetDEDXBinning(G4int val)
void SetMaxEnergyForMuons(G4double val)
std::vector< PD > part_vector
void SetIntegral(G4bool val)
void SetLossFluctuations(G4bool val)
std::vector< G4bool > isActive
G4VAtomDeexcitation * AtomDeexcitation()
std::vector< G4VEmProcess * > emp_vector
std::vector< PD > base_part_vector
G4double MaxKinEnergy() const
G4double GetRange(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
std::vector< G4VMultipleScattering * > msc_vector
void SetAtomDeexcitation(G4VAtomDeexcitation *)
G4EnergyLossMessenger * theMessenger
static const G4double pos
const std::vector< G4VMultipleScattering * > & GetMultipleScatteringVector()
G4bool stepFunctionActive
G4double GetRange(G4double &kineticEnergy, const G4MaterialCutsCouple *)
std::vector< G4bool > tables_are_built