Geant4  10.02.p02
CexmcProductionModel Class Reference

#include <CexmcProductionModel.hh>

+ Inheritance diagram for CexmcProductionModel:
+ Collaboration diagram for CexmcProductionModel:

Public Member Functions

 CexmcProductionModel (const G4String &name="unspecified", G4bool fermiMotionIsOn=false)
 
virtual ~CexmcProductionModel ()
 
void ApplyFermiMotion (G4bool on, G4bool fromMessenger=true)
 
void SetAngularRange (G4double top, G4double bottom, G4int nmbOfDivs)
 
void SetAngularRanges (const CexmcAngularRangeList &angularRanges_)
 
void AddAngularRange (G4double top, G4double bottom, G4int nmbOfDivs)
 
void SetProductionModelData (const CexmcProductionModelData &productionModelData_)
 
void PrintInitialData (void) const
 
const CexmcAngularRangeListGetAngularRanges (void) const
 
const CexmcAngularRangeListGetTriggeredAngularRanges (void) const
 
const CexmcProductionModelDataGetProductionModelData (void) const
 
G4bool IsFermiMotionOn (void) const
 
void SetTriggeredAngularRanges (G4double opCosThetaSCM)
 
const G4StringGetName (void) const
 
G4ParticleDefinitionGetIncidentParticle (void) const
 
G4ParticleDefinitionGetNucleusParticle (void) const
 
G4ParticleDefinitionGetOutputParticle (void) const
 
G4ParticleDefinitionGetNucleusOutputParticle (void) const
 

Protected Member Functions

virtual void FermiMotionStatusChangeHook (void)
 

Protected Attributes

G4String name
 
G4bool fermiMotionIsOn
 
CexmcAngularRangeList angularRanges
 
CexmcAngularRangeList angularRangesRef
 
CexmcAngularRangeList triggeredAngularRanges
 
CexmcProductionModelData productionModelData
 
G4ParticleDefinitionincidentParticle
 
G4ParticleDefinitionnucleusParticle
 
G4ParticleDefinitionoutputParticle
 
G4ParticleDefinitionnucleusOutputParticle
 

Private Member Functions

G4bool IsValidCandidateForAngularRange (G4double top, G4double bottom, G4int nmbOfDivs=1) const
 
G4bool IsGoodCandidateForAngularRange (G4double top, G4double bottom) const
 

Private Attributes

CexmcProductionModelMessengermessenger
 

Detailed Description

Definition at line 60 of file CexmcProductionModel.hh.

Constructor & Destructor Documentation

CexmcProductionModel::CexmcProductionModel ( const G4String name = "unspecified",
G4bool  fermiMotionIsOn = false 
)
explicit

Definition at line 49 of file CexmcProductionModel.cc.

References angularRanges, and messenger.

CexmcProductionModel::~CexmcProductionModel ( )
virtual

Definition at line 60 of file CexmcProductionModel.cc.

References messenger.

Member Function Documentation

void CexmcProductionModel::AddAngularRange ( G4double  top,
G4double  bottom,
G4int  nmbOfDivs 
)

Definition at line 90 of file CexmcProductionModel.cc.

References angularRanges, CexmcBadAngularRange, CexmcInvalidAngularRange, IsGoodCandidateForAngularRange(), and IsValidCandidateForAngularRange().

Referenced by CexmcProductionModelMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CexmcProductionModel::ApplyFermiMotion ( G4bool  on,
G4bool  fromMessenger = true 
)
inline

Definition at line 142 of file CexmcProductionModel.hh.

References CexmcCmdIsNotAllowed, fermiMotionIsOn, FermiMotionStatusChangeHook(), and ThrowExceptionIfProjectIsRead().

Referenced by CexmcProductionModelMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CexmcProductionModel::FermiMotionStatusChangeHook ( void  )
protectedvirtual

Definition at line 129 of file CexmcProductionModel.cc.

Referenced by ApplyFermiMotion().

+ Here is the caller graph for this function:

const CexmcAngularRangeList & CexmcProductionModel::GetAngularRanges ( void  ) const
inline

Definition at line 184 of file CexmcProductionModel.hh.

References angularRanges.

G4ParticleDefinition * CexmcProductionModel::GetIncidentParticle ( void  ) const
inline

Definition at line 216 of file CexmcProductionModel.hh.

References incidentParticle.

Referenced by CexmcChargeExchangeReconstructor::CexmcChargeExchangeReconstructor(), and CexmcHadronicProcess::IsApplicable().

+ Here is the caller graph for this function:

const G4String & CexmcProductionModel::GetName ( void  ) const
inline

Definition at line 210 of file CexmcProductionModel.hh.

References name.

G4ParticleDefinition * CexmcProductionModel::GetNucleusOutputParticle ( void  ) const
inline

Definition at line 237 of file CexmcProductionModel.hh.

References nucleusOutputParticle.

Referenced by CexmcChargeExchangeReconstructor::CexmcChargeExchangeReconstructor().

+ Here is the caller graph for this function:

G4ParticleDefinition * CexmcProductionModel::GetNucleusParticle ( void  ) const
inline

Definition at line 223 of file CexmcProductionModel.hh.

References nucleusParticle.

Referenced by CexmcChargeExchangeReconstructor::CexmcChargeExchangeReconstructor().

+ Here is the caller graph for this function:

G4ParticleDefinition * CexmcProductionModel::GetOutputParticle ( void  ) const
inline

Definition at line 230 of file CexmcProductionModel.hh.

References outputParticle.

Referenced by CexmcChargeExchangeReconstructor::CexmcChargeExchangeReconstructor().

+ Here is the caller graph for this function:

const CexmcProductionModelData & CexmcProductionModel::GetProductionModelData ( void  ) const
inline

Definition at line 198 of file CexmcProductionModel.hh.

References productionModelData.

const CexmcAngularRangeList & CexmcProductionModel::GetTriggeredAngularRanges ( void  ) const
inline

Definition at line 191 of file CexmcProductionModel.hh.

References triggeredAngularRanges.

G4bool CexmcProductionModel::IsFermiMotionOn ( void  ) const
inline

Definition at line 204 of file CexmcProductionModel.hh.

References fermiMotionIsOn.

G4bool CexmcProductionModel::IsGoodCandidateForAngularRange ( G4double  top,
G4double  bottom 
) const
private

Definition at line 134 of file CexmcProductionModel.cc.

References angularRangesRef, GetNormalizedAngularRange(), G4RunManager::GetRunManager(), and CexmcRunManager::ProjectIsRead().

Referenced by AddAngularRange(), and SetAngularRange().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool CexmcProductionModel::IsValidCandidateForAngularRange ( G4double  top,
G4double  bottom,
G4int  nmbOfDivs = 1 
) const
inlineprivate

Definition at line 244 of file CexmcProductionModel.hh.

Referenced by AddAngularRange(), and SetAngularRange().

+ Here is the caller graph for this function:

void CexmcProductionModel::PrintInitialData ( void  ) const
inline

Definition at line 172 of file CexmcProductionModel.hh.

References angularRanges, CEXMC_LINE_START, fermiMotionIsOn, G4cout, and G4endl.

void CexmcProductionModel::SetAngularRange ( G4double  top,
G4double  bottom,
G4int  nmbOfDivs 
)

Definition at line 66 of file CexmcProductionModel.cc.

References angularRanges, CexmcBadAngularRange, CexmcInvalidAngularRange, IsGoodCandidateForAngularRange(), and IsValidCandidateForAngularRange().

Referenced by CexmcProductionModelMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CexmcProductionModel::SetAngularRanges ( const CexmcAngularRangeList angularRanges_)
inline

Definition at line 154 of file CexmcProductionModel.hh.

References angularRanges, and angularRangesRef.

void CexmcProductionModel::SetProductionModelData ( const CexmcProductionModelData productionModelData_)
inline

Definition at line 165 of file CexmcProductionModel.hh.

References productionModelData.

void CexmcProductionModel::SetTriggeredAngularRanges ( G4double  opCosThetaSCM)

Definition at line 115 of file CexmcProductionModel.cc.

References angularRanges, and triggeredAngularRanges.

Member Data Documentation

CexmcAngularRangeList CexmcProductionModel::angularRangesRef
protected

Definition at line 122 of file CexmcProductionModel.hh.

Referenced by IsGoodCandidateForAngularRange(), and SetAngularRanges().

G4bool CexmcProductionModel::fermiMotionIsOn
protected

Definition at line 118 of file CexmcProductionModel.hh.

Referenced by ApplyFermiMotion(), IsFermiMotionOn(), and PrintInitialData().

CexmcProductionModelMessenger* CexmcProductionModel::messenger
private

Definition at line 138 of file CexmcProductionModel.hh.

Referenced by CexmcProductionModel(), and ~CexmcProductionModel().

G4String CexmcProductionModel::name
protected

Definition at line 116 of file CexmcProductionModel.hh.

Referenced by GetName().

G4ParticleDefinition* CexmcProductionModel::nucleusOutputParticle
protected
CexmcAngularRangeList CexmcProductionModel::triggeredAngularRanges
protected

The documentation for this class was generated from the following files: