1#ifndef TG4_V_REGIONS_MANAGER_H
2#define TG4_V_REGIONS_MANAGER_H
30class G4VRangeToEnergyConverter;
31class G4MaterialCutsCouple;
97 const G4MaterialCutsCouple* couple,
const G4Region* region)
const;
Definition of the enumeration TG4G3Cut.
Definition of the TG4RegionsMessenger class.
Definition of the TG4Verbose class.
Extended G4UserLimits class.
Base class for mangers for converting VMC cuts in energy in G4 regions.
static constexpr size_t fgkRangeGamIdx
G4bool fIsCheck
option to perform consistency check (by default false)
G4bool GetApplyForProton() const
Return the option to apply range cuts for proton.
G4bool fApplyForElectron
option to apply cuts for e- (default is true)
G4bool fIsSave
option to save all regions in a file
virtual void DefineRegions()=0
virtual void UpdateProductionCutsTable()=0
G4bool fApplyForPositron
option to apply cuts for e+ (default is true)
TG4VRegionsManager & operator=(const TG4VRegionsManager &right)=delete
void PrintLegend(std::ostream &output) const
void SetPrint(G4bool isPrint)
Set the option to print all regions.
void PrintRegionData(std::ostream &output, const G4String &matName, const TG4RegionData &values) const
G4bool IsCheck() const
Return the option to perform consistency check.
void SetApplyForGamma(G4bool applyForGamma)
Set the option to apply range cuts for gamma (default is true)
static const G4String fgkDefaultRegionName
the name of the region with default cuts
void SetApplyForPositron(G4bool applyForPositron)
Set the option to apply range cuts for e+ (default is true)
G4bool IsPrint() const
Return the option to print all regions.
G4bool fIsPrint
option to print all regions
void SetApplyForProton(G4bool applyForProton)
Set the option to apply range cuts for proton (default is true)
static TG4VRegionsManager * Instance()
Return the singleton instance.
static const G4String fgkDefaultFileName
the name of the region with default cuts
static constexpr size_t fgkValuesSize
static TG4VRegionsManager * fgInstance
the singleton instance
static constexpr size_t fgkCutGamIdx
G4double GetEnergyCut(TG4Limits *limits, TG4G3Cut cutType, G4double globalCutValue) const
virtual void SaveRegions()
G4bool IsCoupleUsedInTheRegion(const G4MaterialCutsCouple *couple, const G4Region *region) const
void SetCheck(G4bool isCheck)
Set the option to perform consistency check (by default false)
G4bool GetApplyForElectron() const
Return the option to apply range cuts for e+.
G4bool fApplyForGamma
option to apply cuts for gamma (default is true)
void SetFileName(const G4String &fileName)
Set the file name for regions output.
std::array< G4double, fgkValuesSize > TG4RegionData
static constexpr size_t fgkCutEleIdx
static constexpr size_t fgkVmcCutGamIdx
void PrintFromG4Table(std::ostream &output) const
G4bool GetApplyForPositron() const
Return the option to apply range cuts for positron.
void CheckRegionsInGeometry() const
void SetApplyForElectron(G4bool applyForElectron)
Set the option to apply range cuts for e- (default is true)
G4bool fApplyForProton
option to apply cuts for proton (default is true)
void SetSave(G4bool isSave)
Set the option to save all regions in a file.
G4double GetGlobalEnergyCut(TG4G3Cut cutType) const
virtual void DumpRegionStore() const
static constexpr size_t fgkRangeEleIdx
G4bool IsSave() const
Return option to save all regions in a file.
G4String fFileName
file name for regions output
TG4VRegionsManager(const TG4VRegionsManager &right)=delete
virtual void CheckRegions() const
G4String GetFileName() const
Return the file name for regions output.
virtual void PrintRegions(std::ostream &output) const
static constexpr size_t fgkVmcCutEleIdx
virtual ~TG4VRegionsManager()
G4bool GetApplyForGamma() const
Return the option to apply range cuts for gamma.
Base class for defining the verbose level and a common messenger.
TG4G3Cut
Enumeration for G3 types of kinetic energy cuts.