51 #ifndef G4ProductionCutsTable_h
52 #define G4ProductionCutsTable_h 1
273 if((*itr)->IsRecalcNeeded())
285 (*itr)->PhysicsTableUpdated();
309 for(
size_t iMate=0;iMate<nMaterial;iMate++, mItr++){
325 if((*cItr)->GetMaterial()!=aMat)
continue;
326 if((*cItr)->GetProductionCuts()==aCut)
return (*cItr);
337 if((*cItr)==aCouple)
return idx;
G4VRangeToEnergyConverter * converters[NumberOfG4CutIndex]
G4int GetCoupleIndex(const G4MaterialCutsCouple *aCouple) const
G4double ConvertRangeToEnergy(const G4ParticleDefinition *particle, const G4Material *material, G4double range)
void ScanAndSetCouple(G4LogicalVolume *aLV, G4MaterialCutsCouple *aCouple, G4Region *aRegion)
G4CoupleTable coupleTable
G4CutTable energyCutTable
G4double * GetEnergyCutsDoubleVector(size_t pcIdx) const
G4int GetVerboseLevel() const
virtual G4bool StoreMaterialCutsCoupleInfo(const G4String &directory, G4bool ascii=false)
void SetMaxEnergyCut(G4double value)
G4double GetMaxEnergyCut()
virtual G4bool StoreMaterialInfo(const G4String &directory, G4bool ascii=false)
void SetEnergyRange(G4double lowedge, G4double highedge)
G4double GetHighEdgeEnergy() const
G4bool CheckForRetrieveCutsTable(const G4String &directory, G4bool ascii=false)
void PhysicsTableUpdated()
const std::vector< G4double > * GetEnergyCutsVector(size_t pcIdx) const
G4RegionStore * fG4RegionStore
size_t GetNumberOfMaterials() const
bool IsCoupleUsedInTheRegion(const G4MaterialCutsCouple *aCouple, const G4Region *aRegion) const
G4ProductionCuts * defaultProductionCuts
const XML_Char int const XML_Char * value
const G4ParticleDefinition const G4Material *G4double range
std::vector< G4MaterialCutsCouple * > G4CoupleTable
virtual G4bool CheckMaterialCutsCoupleInfo(const G4String &directory, G4bool ascii=false)
static G4ProductionCutsTable * fG4ProductionCutsTable
std::vector< G4MaterialCutsCouple * >::const_iterator CoupleTableIterator
G4bool StoreCutsTable(const G4String &directory, G4bool ascii=false)
virtual G4bool CheckMaterialInfo(const G4String &directory, G4bool ascii=false)
std::vector< G4Material * >::const_iterator GetMaterialIterator() const
G4double GetLowEdgeEnergy() const
virtual ~G4ProductionCutsTable()
virtual G4bool RetrieveCutsInfo(const G4String &directory, G4bool ascii=false)
G4double * GetRangeCutsDoubleVector(size_t pcIdx) const
std::vector< G4CutVectorForAParticle * > G4CutTable
G4bool RetrieveCutsTable(const G4String &directory, G4bool ascii=false)
size_t GetTableSize() const
G4ProductionCuts * GetProductionCuts() const
G4double * energyDoubleVector[NumberOfG4CutIndex]
const G4MCCIndexConversionTable * GetMCCIndexConversionTable() const
std::vector< G4double > G4CutVectorForAParticle
static G4ProductionCutsTable * GetProductionCutsTable()
G4bool IsModified() const
G4ProductionCuts * GetDefaultProductionCuts() const
const std::vector< G4double > * GetRangeCutsVector(size_t pcIdx) const
G4double * rangeDoubleVector[NumberOfG4CutIndex]
const G4MaterialCutsCouple * GetMaterialCutsCouple(G4int i) const
G4ProductionCuts * GetProductionCuts() const
G4ProductionCutsTableMessenger * fMessenger
const G4Material * GetMaterial() const
G4MCCIndexConversionTable mccConversionTable
virtual G4bool StoreCutsInfo(const G4String &directory, G4bool ascii=false)
void UpdateCoupleTable(G4VPhysicalVolume *currentWorld)
void SetVerboseLevel(G4int value)