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

#include <Doxymodules_runAndEvent.h>

Inheritance diagram for RE01PrimaryGeneratorAction:
G4VUserPrimaryGeneratorAction

Public Member Functions

 RE01PrimaryGeneratorAction ()
 
virtual ~RE01PrimaryGeneratorAction ()
 
virtual void GeneratePrimaries (G4Event *anEvent)
 
void SetHEPEvtGenerator (G4bool f)
 
G4bool GetHEPEvtGenerator ()
 

Private Attributes

G4VPrimaryGeneratorfHEPEvt
 
G4VPrimaryGeneratorfParticleGun
 
RE01PrimaryGeneratorMessengerfMessenger
 
G4bool fUseHEPEvt
 

Detailed Description

Definition at line 27 of file Doxymodules_runAndEvent.h.

Constructor & Destructor Documentation

◆ RE01PrimaryGeneratorAction()

RE01PrimaryGeneratorAction::RE01PrimaryGeneratorAction ( )

Definition at line 42 of file RE01PrimaryGeneratorAction.cc.

45{
46 const char* filename = "pythia_event.data";
47 fHEPEvt = new G4HEPEvtInterface(filename);
48
49 G4int n_particle = 1;
50 G4ParticleGun* particleGun = new G4ParticleGun(n_particle);
51 G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
52 G4String particleName;
53 G4ParticleDefinition* particle
54 = particleTable->FindParticle(particleName="mu+");
55 particleGun->SetParticleDefinition(particle);
56 particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,1.,0.));
57 particleGun->SetParticleEnergy(100.*GeV);
58 particleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm));
59 fParticleGun = particleGun;
60
62 fUseHEPEvt = true;
63
64}
RE01PrimaryGeneratorMessenger * fMessenger

◆ ~RE01PrimaryGeneratorAction()

RE01PrimaryGeneratorAction::~RE01PrimaryGeneratorAction ( )
virtual

Definition at line 73 of file RE01PrimaryGeneratorAction.cc.

74{
75 G4AutoLock lock(&RE01PrimGenDestrMutex);
76 if(fHEPEvt) {delete fHEPEvt; fHEPEvt = 0;}
77 delete fParticleGun;
78 delete fMessenger;
79}

Member Function Documentation

◆ GeneratePrimaries()

void RE01PrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Definition at line 82 of file RE01PrimaryGeneratorAction.cc.

83{
84 if(fUseHEPEvt)
85 {
86 G4AutoLock lock(&RE01PrimGenMutex);
87 fHEPEvt->GeneratePrimaryVertex(anEvent);
88 if(anEvent->GetNumberOfPrimaryVertex()==0)
89 { // End-of-file
90 G4Exception("RE01PrimaryGeneratorAction::GeneratePrimaries",
91 "RE01_0001",RunMustBeAborted,"End of file detected.");
92 }
93 }
94 else
95 { fParticleGun->GeneratePrimaryVertex(anEvent); }
96}

◆ SetHEPEvtGenerator()

void RE01PrimaryGeneratorAction::SetHEPEvtGenerator ( G4bool  f)
inline

Definition at line 49 of file RE01PrimaryGeneratorAction.hh.

50 { fUseHEPEvt = f; }

◆ GetHEPEvtGenerator()

G4bool RE01PrimaryGeneratorAction::GetHEPEvtGenerator ( )
inline

Definition at line 51 of file RE01PrimaryGeneratorAction.hh.

52 { return fUseHEPEvt; }

Member Data Documentation

◆ fHEPEvt

G4VPrimaryGenerator* RE01PrimaryGeneratorAction::fHEPEvt
private

Definition at line 55 of file RE01PrimaryGeneratorAction.hh.

◆ fParticleGun

G4VPrimaryGenerator* RE01PrimaryGeneratorAction::fParticleGun
private

Definition at line 56 of file RE01PrimaryGeneratorAction.hh.

◆ fMessenger

RE01PrimaryGeneratorMessenger* RE01PrimaryGeneratorAction::fMessenger
private

Definition at line 57 of file RE01PrimaryGeneratorAction.hh.

◆ fUseHEPEvt

G4bool RE01PrimaryGeneratorAction::fUseHEPEvt
private

Definition at line 58 of file RE01PrimaryGeneratorAction.hh.


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

Applications | User Support | Publications | Collaboration