44 #ifndef CEXMC_PRODUCTION_MODEL_HH 
   45 #define CEXMC_PRODUCTION_MODEL_HH 
   48 #include <G4String.hh> 
  159 #ifdef CEXMC_USE_ROOT 
  160     CexmcHistoManager::Instance()->SetupARHistos( 
angularRanges );
 
  174     const char *  fermiMotionMsg( 
"Fermi motion in the target is off" );
 
  176         fermiMotionMsg = 
"Fermi motion in the target is on";
 
  247     return top > bottom && top <= 1.0 && top > -1.0 && bottom < 1.0 &&
 
  248            bottom >= -1.0 && nmbOfDivs >= 1;
 
const CexmcAngularRangeList & GetTriggeredAngularRanges(void) const 
 
G4ParticleDefinition * nucleusOutputParticle
 
G4bool IsValidCandidateForAngularRange(G4double top, G4double bottom, G4int nmbOfDivs=1) const 
 
G4bool IsFermiMotionOn(void) const 
 
CexmcProductionModelData productionModelData
 
void SetProductionModelData(const CexmcProductionModelData &productionModelData_)
 
G4ParticleDefinition * GetIncidentParticle(void) const 
 
void SetAngularRange(G4double top, G4double bottom, G4int nmbOfDivs)
 
G4bool IsGoodCandidateForAngularRange(G4double top, G4double bottom) const 
 
void AddAngularRange(G4double top, G4double bottom, G4int nmbOfDivs)
 
void SetTriggeredAngularRanges(G4double opCosThetaSCM)
 
CexmcProductionModel(const G4String &name="unspecified", G4bool fermiMotionIsOn=false)
 
G4GLOB_DLL std::ostream G4cout
 
CexmcAngularRangeList angularRangesRef
 
virtual void FermiMotionStatusChangeHook(void)
 
G4ParticleDefinition * nucleusParticle
 
virtual ~CexmcProductionModel()
 
G4ParticleDefinition * GetOutputParticle(void) const 
 
const CexmcProductionModelData & GetProductionModelData(void) const 
 
G4ParticleDefinition * incidentParticle
 
G4ParticleDefinition * GetNucleusParticle(void) const 
 
CexmcAngularRangeList angularRanges
 
CexmcAngularRangeList triggeredAngularRanges
 
std::vector< CexmcAngularRange > CexmcAngularRangeList
 
void ThrowExceptionIfProjectIsRead(CexmcExceptionType type, G4bool extraCond=true)
 
G4ParticleDefinition * GetNucleusOutputParticle(void) const 
 
void ApplyFermiMotion(G4bool on, G4bool fromMessenger=true)
 
void SetAngularRanges(const CexmcAngularRangeList &angularRanges_)
 
const CexmcAngularRangeList & GetAngularRanges(void) const 
 
void PrintInitialData(void) const 
 
CexmcProductionModelMessenger * messenger
 
G4ParticleDefinition * outputParticle
 
const G4String & GetName(void) const