Geant4  10.00
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4HadronicProcessStore Class Reference

Public Member Functions

 ~G4HadronicProcessStore ()
 
void Clean ()
 
G4double GetCrossSectionPerAtom (const G4ParticleDefinition *particle, G4double kineticEnergy, const G4VProcess *process, const G4Element *element, const G4Material *material=0)
 
G4double GetCrossSectionPerVolume (const G4ParticleDefinition *particle, G4double kineticEnergy, const G4VProcess *process, const G4Material *material)
 
G4double GetInelasticCrossSectionPerVolume (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Material *material)
 
G4double GetInelasticCrossSectionPerAtom (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Element *anElement, const G4Material *mat=0)
 
G4double GetInelasticCrossSectionPerIsotope (const G4ParticleDefinition *aParticle, G4double kineticEnergy, G4int Z, G4int A)
 
G4double GetElasticCrossSectionPerVolume (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Material *material)
 
G4double GetElasticCrossSectionPerAtom (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Element *anElement, const G4Material *mat=0)
 
G4double GetElasticCrossSectionPerIsotope (const G4ParticleDefinition *aParticle, G4double kineticEnergy, G4int Z, G4int A)
 
G4double GetCaptureCrossSectionPerVolume (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Material *material)
 
G4double GetCaptureCrossSectionPerAtom (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Element *anElement, const G4Material *mat=0)
 
G4double GetCaptureCrossSectionPerIsotope (const G4ParticleDefinition *aParticle, G4double kineticEnergy, G4int Z, G4int A)
 
G4double GetFissionCrossSectionPerVolume (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Material *material)
 
G4double GetFissionCrossSectionPerAtom (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Element *anElement, const G4Material *mat=0)
 
G4double GetFissionCrossSectionPerIsotope (const G4ParticleDefinition *aParticle, G4double kineticEnergy, G4int Z, G4int A)
 
G4double GetChargeExchangeCrossSectionPerVolume (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Material *material)
 
G4double GetChargeExchangeCrossSectionPerAtom (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Element *anElement, const G4Material *mat=0)
 
G4double GetChargeExchangeCrossSectionPerIsotope (const G4ParticleDefinition *aParticle, G4double kineticEnergy, G4int Z, G4int A)
 
void Register (G4HadronicProcess *)
 
void RegisterParticle (G4HadronicProcess *, const G4ParticleDefinition *)
 
void RegisterInteraction (G4HadronicProcess *, G4HadronicInteraction *)
 
void DeRegister (G4HadronicProcess *)
 
void RegisterExtraProcess (G4VProcess *)
 
void RegisterParticleForExtraProcess (G4VProcess *, const G4ParticleDefinition *)
 
void DeRegisterExtraProcess (G4VProcess *)
 
void PrintInfo (const G4ParticleDefinition *)
 
void Dump (G4int level)
 
void DumpHtml ()
 
void PrintHtml (const G4ParticleDefinition *, std::ofstream &)
 
void PrintModelHtml (const G4HadronicInteraction *model) const
 
void SetVerbose (G4int val)
 
G4int GetVerbose ()
 
G4HadronicProcessFindProcess (const G4ParticleDefinition *, G4HadronicProcessType subType)
 
void SetEpReportLevel (G4int level)
 
void SetProcessAbsLevel (G4double absoluteLevel)
 
void SetProcessRelLevel (G4double relativeLevel)
 

Static Public Member Functions

static G4HadronicProcessStoreInstance ()
 

Private Types

typedef const
G4ParticleDefinition
PD
 
typedef G4HadronicProcessHP
 
typedef G4HadronicInteractionHI
 

Private Member Functions

 G4HadronicProcessStore ()
 
void Print (G4int idxProcess, G4int idxParticle)
 

Private Attributes

std::vector< G4HadronicProcess * > process
 
std::vector
< G4HadronicInteraction * > 
model
 
std::vector< G4StringmodelName
 
std::vector< PDparticle
 
std::vector< G4intwasPrinted
 
std::multimap< PD, HPp_map
 
std::multimap< HP, HIm_map
 
std::vector< G4VProcess * > extraProcess
 
std::multimap< PD, G4VProcess * > ep_map
 
G4int n_proc
 
G4int n_model
 
G4int n_part
 
G4int n_extra
 
G4int verbose
 
G4bool buildTableStart
 
HP currentProcess
 
PD currentParticle
 
G4DynamicParticle localDP
 
G4HadronicEPTestMessengertheEPTestMessenger
 

Static Private Attributes

static G4ThreadLocal
G4HadronicProcessStore
theInstance
 

Member Typedef Documentation

typedef const G4ParticleDefinition* PD
private
typedef G4HadronicProcess* HP
private
typedef G4HadronicInteraction* HI
private

Constructor & Destructor Documentation

Member Function Documentation

static G4HadronicProcessStore* Instance ( )
static
void Clean ( )
G4double GetCrossSectionPerAtom ( const G4ParticleDefinition particle,
G4double  kineticEnergy,
const G4VProcess process,
const G4Element element,
const G4Material material = 0 
)
G4double GetCrossSectionPerVolume ( const G4ParticleDefinition particle,
G4double  kineticEnergy,
const G4VProcess process,
const G4Material material 
)
G4double GetInelasticCrossSectionPerVolume ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
const G4Material material 
)
G4double GetInelasticCrossSectionPerAtom ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
const G4Element anElement,
const G4Material mat = 0 
)
G4double GetInelasticCrossSectionPerIsotope ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
G4int  Z,
G4int  A 
)
G4double GetElasticCrossSectionPerVolume ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
const G4Material material 
)
G4double GetElasticCrossSectionPerAtom ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
const G4Element anElement,
const G4Material mat = 0 
)
G4double GetElasticCrossSectionPerIsotope ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
G4int  Z,
G4int  A 
)
G4double GetCaptureCrossSectionPerVolume ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
const G4Material material 
)
G4double GetCaptureCrossSectionPerAtom ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
const G4Element anElement,
const G4Material mat = 0 
)
G4double GetCaptureCrossSectionPerIsotope ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
G4int  Z,
G4int  A 
)
G4double GetFissionCrossSectionPerVolume ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
const G4Material material 
)
G4double GetFissionCrossSectionPerAtom ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
const G4Element anElement,
const G4Material mat = 0 
)
G4double GetFissionCrossSectionPerIsotope ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
G4int  Z,
G4int  A 
)
G4double GetChargeExchangeCrossSectionPerVolume ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
const G4Material material 
)
G4double GetChargeExchangeCrossSectionPerAtom ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
const G4Element anElement,
const G4Material mat = 0 
)
G4double GetChargeExchangeCrossSectionPerIsotope ( const G4ParticleDefinition aParticle,
G4double  kineticEnergy,
G4int  Z,
G4int  A 
)
void Register ( G4HadronicProcess )
void RegisterParticle ( G4HadronicProcess ,
const G4ParticleDefinition  
)
void RegisterInteraction ( G4HadronicProcess ,
G4HadronicInteraction  
)
void DeRegister ( G4HadronicProcess )
void RegisterExtraProcess ( G4VProcess )
void RegisterParticleForExtraProcess ( G4VProcess ,
const G4ParticleDefinition  
)
void DeRegisterExtraProcess ( G4VProcess )
void PrintInfo ( const G4ParticleDefinition )
void Dump ( G4int  level)
void DumpHtml ( )
void PrintHtml ( const G4ParticleDefinition ,
std::ofstream &   
)
void PrintModelHtml ( const G4HadronicInteraction model) const
void SetVerbose ( G4int  val)
G4int GetVerbose ( )
void SetEpReportLevel ( G4int  level)
void SetProcessAbsLevel ( G4double  absoluteLevel)
void SetProcessRelLevel ( G4double  relativeLevel)
void Print ( G4int  idxProcess,
G4int  idxParticle 
)
private

Member Data Documentation

G4ThreadLocal G4HadronicProcessStore* theInstance
staticprivate
std::vector<G4HadronicProcess*> process
private
std::vector<G4HadronicInteraction*> model
private
std::vector<G4String> modelName
private
std::vector<PD> particle
private
std::vector<G4int> wasPrinted
private
std::multimap<PD,HP> p_map
private
std::multimap<HP,HI> m_map
private
std::vector<G4VProcess*> extraProcess
private
std::multimap<PD,G4VProcess*> ep_map
private
G4int n_proc
private
G4int n_model
private
G4int n_part
private
G4int n_extra
private
G4int verbose
private
G4bool buildTableStart
private
HP currentProcess
private
PD currentParticle
private
G4DynamicParticle localDP
private
G4HadronicEPTestMessenger* theEPTestMessenger
private