Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes
CexmcStudiedPhysics< Process > Class Template Reference

#include <CexmcStudiedPhysics.hh>

Inheritance diagram for CexmcStudiedPhysics< Process >:
G4VPhysicsConstructor

Public Member Functions

 CexmcStudiedPhysics (CexmcPhysicsManager *physicsManager)
 
virtual ~CexmcStudiedPhysics ()
 
void ConstructParticle (void)
 
void ConstructProcess (void)
 
CexmcProductionModelGetProductionModel (void)
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Protected Member Functions

virtual void ApplyInteractionModel (G4VProcess *process)
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 

Protected Attributes

CexmcPhysicsManagerphysicsManager
 
CexmcProductionModelproductionModel
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

template<typename Process>
class CexmcStudiedPhysics< Process >

Definition at line 59 of file CexmcStudiedPhysics.hh.

Constructor & Destructor Documentation

template<typename Process >
CexmcStudiedPhysics< Process >::CexmcStudiedPhysics ( CexmcPhysicsManager physicsManager)
explicit

Definition at line 88 of file CexmcStudiedPhysics.hh.

89  :
90  G4VPhysicsConstructor( "studiedPhysics" ), physicsManager( physicsManager ),
91  productionModel( NULL ), wasActivated( false )
92 {
93 }
CexmcProductionModel * productionModel
CexmcPhysicsManager * physicsManager
G4VPhysicsConstructor(const G4String &="")
template<typename Process >
CexmcStudiedPhysics< Process >::~CexmcStudiedPhysics ( )
virtual

Definition at line 97 of file CexmcStudiedPhysics.hh.

98 {
99 }

Member Function Documentation

template<typename Process >
void CexmcStudiedPhysics< Process >::ApplyInteractionModel ( G4VProcess process)
protectedvirtual

Definition at line 151 of file CexmcStudiedPhysics.hh.

152 {
153 }
template<typename Process >
void CexmcStudiedPhysics< Process >::ConstructParticle ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 103 of file CexmcStudiedPhysics.hh.

104 {
105  if ( productionModel )
107 }
CexmcProductionModel * productionModel
G4ParticleDefinition * GetIncidentParticle(void) const
template<typename Process >
void CexmcStudiedPhysics< Process >::ConstructProcess ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 111 of file CexmcStudiedPhysics.hh.

References G4ProcessManager::AddDiscreteProcess(), G4ParticleDefinition::GetProcessManager(), and G4WrapperProcess::RegisterProcess().

112 {
113  if ( wasActivated )
114  return;
115 
116  wasActivated = true;
117 
118  Process * process( new Process );
119 
120  process->AddDataSet( new CexmcFakeCrossSectionData );
121 
122  CexmcStudiedProcess * studiedProcess( new CexmcStudiedProcess(
123  physicsManager, process->GetProcessType() ) );
124 
125  ApplyInteractionModel( process );
126 
127  studiedProcess->RegisterProcess( process );
128 
129  G4ParticleDefinition * particle( NULL );
130 
131  if ( productionModel )
132  particle = productionModel->GetIncidentParticle();
133 
134  if ( particle )
135  {
136  G4ProcessManager * processManager( particle->GetProcessManager() );
137  processManager->AddDiscreteProcess( studiedProcess );
138  }
139 }
CexmcProductionModel * productionModel
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4ParticleDefinition * GetIncidentParticle(void) const
CexmcPhysicsManager * physicsManager
virtual void ApplyInteractionModel(G4VProcess *process)
template<typename Process >
CexmcProductionModel * CexmcStudiedPhysics< Process >::GetProductionModel ( void  )

Definition at line 143 of file CexmcStudiedPhysics.hh.

145 {
146  return productionModel;
147 }
CexmcProductionModel * productionModel

Field Documentation

template<typename Process>
CexmcPhysicsManager* CexmcStudiedPhysics< Process >::physicsManager
protected

Definition at line 78 of file CexmcStudiedPhysics.hh.

template<typename Process>
CexmcProductionModel* CexmcStudiedPhysics< Process >::productionModel
protected

Definition at line 80 of file CexmcStudiedPhysics.hh.


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