Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
RE05PrimaryGeneratorAction Class Reference

#include <Doxymodules_runAndEvent.h>

Inheritance diagram for RE05PrimaryGeneratorAction:
G4VUserPrimaryGeneratorAction

Public Member Functions

 RE05PrimaryGeneratorAction ()
 
virtual ~RE05PrimaryGeneratorAction ()
 
virtual void GeneratePrimaries (G4Event *anEvent)
 
void SetHEPEvtGenerator (G4bool option)
 
G4bool GetHEPEvtGenerator ()
 

Private Attributes

G4VPrimaryGeneratorfParticleGun
 
RE05PrimaryGeneratorMessengerfMessenger
 
G4bool fUseHEPEvt
 

Static Private Attributes

static G4VPrimaryGeneratorfHEPEvt = 0
 

Detailed Description

Definition at line 114 of file Doxymodules_runAndEvent.h.

Constructor & Destructor Documentation

◆ RE05PrimaryGeneratorAction()

RE05PrimaryGeneratorAction::RE05PrimaryGeneratorAction ( )

Definition at line 51 of file RE05PrimaryGeneratorAction.cc.

53 fParticleGun(0),
54 fMessenger(0),
55 fUseHEPEvt(false)
56{
57 G4AutoLock lock(&RE05PrimGenDestrMutex);
58 if(!fHEPEvt)
59 {
60 const char* filename = "pythia_event.data";
61 fHEPEvt = new G4HEPEvtInterface(filename,1);
62 }
63 lock.unlock();
64
65 G4int n_particle = 1;
66 G4ParticleGun* particleGun = new G4ParticleGun(n_particle);
67 G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
68 G4String particleName;
69 G4ParticleDefinition* particle
70 = particleTable->FindParticle(particleName="mu+");
71 particleGun->SetParticleDefinition(particle);
72 particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,1.,0.));
73 particleGun->SetParticleEnergy(100.*GeV);
74 particleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm));
75 fParticleGun = particleGun;
76
78 fUseHEPEvt = true;
79}
RE05PrimaryGeneratorMessenger * fMessenger
static G4VPrimaryGenerator * fHEPEvt

◆ ~RE05PrimaryGeneratorAction()

RE05PrimaryGeneratorAction::~RE05PrimaryGeneratorAction ( )
virtual

Definition at line 83 of file RE05PrimaryGeneratorAction.cc.

84{
85 G4AutoLock lock(&RE05PrimGenDestrMutex);
86 if(fHEPEvt) { delete fHEPEvt; fHEPEvt=0; }
87 delete fParticleGun;
88 delete fMessenger;
89}

Member Function Documentation

◆ GeneratePrimaries()

void RE05PrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Definition at line 93 of file RE05PrimaryGeneratorAction.cc.

94{
95 if(fUseHEPEvt)
96 {
97 G4AutoLock lock(&RE05PrimGenMutex);
98 fHEPEvt->GeneratePrimaryVertex(anEvent);
99 }
100 else
101 { fParticleGun->GeneratePrimaryVertex(anEvent); }
102}

◆ SetHEPEvtGenerator()

void RE05PrimaryGeneratorAction::SetHEPEvtGenerator ( G4bool  option)
inline

Definition at line 57 of file RE05PrimaryGeneratorAction.hh.

58 { fUseHEPEvt = option; }

◆ GetHEPEvtGenerator()

G4bool RE05PrimaryGeneratorAction::GetHEPEvtGenerator ( )
inline

Definition at line 59 of file RE05PrimaryGeneratorAction.hh.

60 { return fUseHEPEvt; }

Member Data Documentation

◆ fHEPEvt

G4VPrimaryGenerator * RE05PrimaryGeneratorAction::fHEPEvt = 0
staticprivate

Definition at line 51 of file RE05PrimaryGeneratorAction.hh.

◆ fParticleGun

G4VPrimaryGenerator* RE05PrimaryGeneratorAction::fParticleGun
private

Definition at line 52 of file RE05PrimaryGeneratorAction.hh.

◆ fMessenger

RE05PrimaryGeneratorMessenger* RE05PrimaryGeneratorAction::fMessenger
private

Definition at line 53 of file RE05PrimaryGeneratorAction.hh.

◆ fUseHEPEvt

G4bool RE05PrimaryGeneratorAction::fUseHEPEvt
private

Definition at line 54 of file RE05PrimaryGeneratorAction.hh.


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

Applications | User Support | Publications | Collaboration