Geant4  10.01
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 CexmcAngularRangeList & GetAngularRanges (void) const
 
const CexmcAngularRangeList & GetTriggeredAngularRanges (void) const
 
const CexmcProductionModelData & GetProductionModelData (void) const
 
G4bool IsFermiMotionOn (void) const
 
void SetTriggeredAngularRanges (G4double opCosThetaSCM)
 
const G4String & GetName (void) const
 
G4ParticleDefinition * GetIncidentParticle (void) const
 
G4ParticleDefinition * GetNucleusParticle (void) const
 
G4ParticleDefinition * GetOutputParticle (void) const
 
G4ParticleDefinition * GetNucleusOutputParticle (void) const
 

Protected Member Functions

virtual void FermiMotionStatusChangeHook (void)
 

Protected Attributes

G4String name
 
G4bool fermiMotionIsOn
 
CexmcAngularRangeList angularRanges
 
CexmcAngularRangeList angularRangesRef
 
CexmcAngularRangeList triggeredAngularRanges
 
CexmcProductionModelData productionModelData
 
G4ParticleDefinition * incidentParticle
 
G4ParticleDefinition * nucleusParticle
 
G4ParticleDefinition * outputParticle
 
G4ParticleDefinition * nucleusOutputParticle
 

Private Member Functions

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

Private Attributes

CexmcProductionModelMessenger * messenger
 

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: