Geant4  10.02.p03
G4NeutronTrackingCut Class Reference

#include <G4NeutronTrackingCut.hh>

Inheritance diagram for G4NeutronTrackingCut:
Collaboration diagram for G4NeutronTrackingCut:

Public Member Functions

 G4NeutronTrackingCut (G4int ver=0)
 
 G4NeutronTrackingCut (const G4String &name, G4int ver=0)
 
virtual ~G4NeutronTrackingCut ()
 
virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 
void SetTimeLimit (G4double)
 
void SetKineticEnergyLimit (G4double)
 
- 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
 

Private Attributes

G4double timeLimit
 
G4double kineticEnergyLimit
 
G4int verbose
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 46 of file G4NeutronTrackingCut.hh.

Constructor & Destructor Documentation

◆ G4NeutronTrackingCut() [1/2]

G4NeutronTrackingCut::G4NeutronTrackingCut ( G4int  ver = 0)

Definition at line 54 of file G4NeutronTrackingCut.cc.

55  : G4VPhysicsConstructor("neutronTrackingCut")
56  , verbose(ver)
57 {
58  timeLimit = 10.*microsecond;
59  kineticEnergyLimit = 0.0;
60 }
static const double microsecond
Definition: G4SIunits.hh:159
G4VPhysicsConstructor(const G4String &="")

◆ G4NeutronTrackingCut() [2/2]

G4NeutronTrackingCut::G4NeutronTrackingCut ( const G4String name,
G4int  ver = 0 
)

Definition at line 62 of file G4NeutronTrackingCut.cc.

63  : G4VPhysicsConstructor(name), verbose(ver)
64 {
65  timeLimit = 10.*microsecond;
66  kineticEnergyLimit = 0.0;
67 }
static const double microsecond
Definition: G4SIunits.hh:159
G4VPhysicsConstructor(const G4String &="")

◆ ~G4NeutronTrackingCut()

G4NeutronTrackingCut::~G4NeutronTrackingCut ( )
virtual

Definition at line 69 of file G4NeutronTrackingCut.cc.

70 {}

Member Function Documentation

◆ ConstructParticle()

void G4NeutronTrackingCut::ConstructParticle ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 72 of file G4NeutronTrackingCut.cc.

73 {
75 }
static G4Neutron * NeutronDefinition()
Definition: G4Neutron.cc:99
Here is the call graph for this function:

◆ ConstructProcess()

void G4NeutronTrackingCut::ConstructProcess ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 77 of file G4NeutronTrackingCut.cc.

78 {
79  G4NeutronKiller* pNeutronKiller = new G4NeutronKiller();
81  G4ProcessManager * pmanager = particle->GetProcessManager();
82 
83  if(verbose > 0) {
84  G4String pn = particle->GetParticleName();//Avoid data-race when passing
85  //this string to G4MTcout
86  G4cout << "### Adding tracking cuts for " << pn
87  << " TimeCut(ns)= " << timeLimit/ns
88  << " KinEnergyCut(MeV)= " << kineticEnergyLimit/MeV
89  << G4endl;
90  }
91  pmanager -> AddDiscreteProcess(pNeutronKiller);
92  pNeutronKiller->SetKinEnergyLimit(kineticEnergyLimit);
93  pNeutronKiller->SetTimeLimit(timeLimit);
94 
97 }
static const double MeV
Definition: G4SIunits.hh:211
void SetKinEnergyLimit(G4double)
static G4HadronicProcessStore * Instance()
G4ProcessManager * GetProcessManager() const
void RegisterParticleForExtraProcess(G4VProcess *, const G4ParticleDefinition *)
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
static G4Neutron * Neutron()
Definition: G4Neutron.cc:104
void SetTimeLimit(G4double)
void RegisterExtraProcess(G4VProcess *)
#define G4endl
Definition: G4ios.hh:61
#define ns
Definition: xmlparse.cc:614
Here is the call graph for this function:

◆ SetKineticEnergyLimit()

void G4NeutronTrackingCut::SetKineticEnergyLimit ( G4double  val)
inline

Definition at line 80 of file G4NeutronTrackingCut.hh.

81 {
82  kineticEnergyLimit = val;
83 }

◆ SetTimeLimit()

void G4NeutronTrackingCut::SetTimeLimit ( G4double  val)
inline

Definition at line 75 of file G4NeutronTrackingCut.hh.

76 {
77  timeLimit = val;
78 }

Member Data Documentation

◆ kineticEnergyLimit

G4double G4NeutronTrackingCut::kineticEnergyLimit
private

Definition at line 70 of file G4NeutronTrackingCut.hh.

◆ timeLimit

G4double G4NeutronTrackingCut::timeLimit
private

Definition at line 69 of file G4NeutronTrackingCut.hh.

◆ verbose

G4int G4NeutronTrackingCut::verbose
private

Definition at line 72 of file G4NeutronTrackingCut.hh.


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