51#ifndef G4LossTableBuilder_h
52#define G4LossTableBuilder_h 1
72 const std::vector<G4PhysicsTable*>&);
77 G4bool isIonisation =
false);
82 G4bool isIonisation =
false);
108 void InitialiseCouples();
116 std::vector<G4double>* theDensityFactor;
117 std::vector<G4int>* theDensityIdx;
118 std::vector<G4bool>* theFlag;
122inline const std::vector<G4int>*
125 if(theDensityIdx->size() == 0) { InitialiseCouples(); }
126 return theDensityIdx;
129inline const std::vector<G4double>*
132 if(theDensityIdx->size() == 0) { InitialiseCouples(); }
133 return theDensityFactor;
138 return (*theFlag)[idx];
148 isInitialized = flag;
const std::vector< G4double > * GetDensityFactors()
void BuildDEDXTable(G4PhysicsTable *dedxTable, const std::vector< G4PhysicsTable * > &)
virtual ~G4LossTableBuilder()
G4PhysicsTable * BuildTableForModel(G4PhysicsTable *table, G4VEmModel *model, const G4ParticleDefinition *, G4double emin, G4double emax, G4bool spline)
void BuildRangeTable(const G4PhysicsTable *dedxTable, G4PhysicsTable *rangeTable, G4bool isIonisation=false)
void InitialiseBaseMaterials(G4PhysicsTable *table)
const std::vector< G4int > * GetCoupleIndexes()
G4bool GetFlag(size_t idx) const
void SetSplineFlag(G4bool flag)
void SetInitialisationFlag(G4bool flag)
void BuildInverseRangeTable(const G4PhysicsTable *rangeTable, G4PhysicsTable *invRangeTable, G4bool isIonisation=false)