Geant4  10.02.p03
ExN04PrimaryGeneratorAction Class Reference

#include <ExN04PrimaryGeneratorAction.hh>

Inheritance diagram for ExN04PrimaryGeneratorAction:
Collaboration diagram for ExN04PrimaryGeneratorAction:

Public Member Functions

 ExN04PrimaryGeneratorAction ()
 
 ~ExN04PrimaryGeneratorAction ()
 
virtual void GeneratePrimaries (G4Event *anEvent)
 
void SetGenerator (G4VPrimaryGenerator *gen)
 
void SetGenerator (G4String genname)
 
G4VPrimaryGeneratorGetGenerator () const
 
G4String GetGeneratorName () const
 
 ExN04PrimaryGeneratorAction ()
 
 ~ExN04PrimaryGeneratorAction ()
 
void GeneratePrimaries (G4Event *anEvent)
 
void SetHEPEvtGenerator (G4bool f)
 
G4bool GetHEPEvtGenerator ()
 
- Public Member Functions inherited from G4VUserPrimaryGeneratorAction
 G4VUserPrimaryGeneratorAction ()
 
virtual ~G4VUserPrimaryGeneratorAction ()
 

Private Attributes

G4VPrimaryGeneratorparticleGun
 
G4VPrimaryGeneratorhepmcAscii
 
G4VPrimaryGeneratorpythiaGen
 
G4VPrimaryGeneratorcurrentGenerator
 
G4String currentGeneratorName
 
std::map< G4String, G4VPrimaryGenerator * > gentypeMap
 
ExN04PrimaryGeneratorMessengermessenger
 
G4VPrimaryGeneratorHEPEvt
 
G4bool useHEPEvt
 

Detailed Description

Constructor & Destructor Documentation

◆ ExN04PrimaryGeneratorAction() [1/2]

ExN04PrimaryGeneratorAction::ExN04PrimaryGeneratorAction ( )

Definition at line 43 of file ExN04PrimaryGeneratorAction.cc.

44 {
45  const char* filename = "pythia_event.data";
46  HEPEvt = new G4HEPEvtInterface(filename);
47 
48  G4int n_particle = 1;
49  G4ParticleGun* fParticleGun = new G4ParticleGun(n_particle);
51  G4String particleName;
52  G4ParticleDefinition* particle
53  = particleTable->FindParticle(particleName="mu+");
54  fParticleGun->SetParticleDefinition(particle);
55  fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,1.,0.));
56  fParticleGun->SetParticleEnergy(100.*GeV);
57  fParticleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm));
58  particleGun = fParticleGun;
59 
61  useHEPEvt = true;
62 }
static const double cm
Definition: G4SIunits.hh:118
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
CLHEP::Hep3Vector G4ThreeVector
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
int G4int
Definition: G4Types.hh:78
void SetParticlePosition(G4ThreeVector aPosition)
static const double GeV
Definition: G4SIunits.hh:214
void SetParticleEnergy(G4double aKineticEnergy)
static G4ParticleTable * GetParticleTable()
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
Here is the call graph for this function:

◆ ~ExN04PrimaryGeneratorAction() [1/2]

ExN04PrimaryGeneratorAction::~ExN04PrimaryGeneratorAction ( )

◆ ExN04PrimaryGeneratorAction() [2/2]

ExN04PrimaryGeneratorAction::ExN04PrimaryGeneratorAction ( )

◆ ~ExN04PrimaryGeneratorAction() [2/2]

ExN04PrimaryGeneratorAction::~ExN04PrimaryGeneratorAction ( )

Member Function Documentation

◆ GeneratePrimaries() [1/2]

void ExN04PrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Implements G4VUserPrimaryGeneratorAction.

Definition at line 71 of file ExN04PrimaryGeneratorAction.cc.

Here is the call graph for this function:

◆ GeneratePrimaries() [2/2]

void ExN04PrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

◆ GetGenerator()

G4VPrimaryGenerator * ExN04PrimaryGeneratorAction::GetGenerator ( ) const
inline

◆ GetGeneratorName()

G4String ExN04PrimaryGeneratorAction::GetGeneratorName ( ) const
inline

◆ GetHEPEvtGenerator()

G4bool ExN04PrimaryGeneratorAction::GetHEPEvtGenerator ( )
inline

◆ SetGenerator() [1/2]

void ExN04PrimaryGeneratorAction::SetGenerator ( G4VPrimaryGenerator gen)
inline

◆ SetGenerator() [2/2]

void ExN04PrimaryGeneratorAction::SetGenerator ( G4String  genname)
inline

Definition at line 75 of file eventgenerator/HepMC/HepMCEx01/include/ExN04PrimaryGeneratorAction.hh.

76 {
77  std::map<G4String, G4VPrimaryGenerator*>::iterator pos =
78  gentypeMap.find(genname);
79  if ( pos != gentypeMap.end() ) {
80  currentGenerator = pos->second;
81  currentGeneratorName = genname;
82  }
83 }
static const G4double pos

◆ SetHEPEvtGenerator()

void ExN04PrimaryGeneratorAction::SetHEPEvtGenerator ( G4bool  f)
inline

Member Data Documentation

◆ currentGenerator

G4VPrimaryGenerator* ExN04PrimaryGeneratorAction::currentGenerator
private

◆ currentGeneratorName

G4String ExN04PrimaryGeneratorAction::currentGeneratorName
private

◆ gentypeMap

std::map<G4String, G4VPrimaryGenerator*> ExN04PrimaryGeneratorAction::gentypeMap
private

◆ HEPEvt

G4VPrimaryGenerator* ExN04PrimaryGeneratorAction::HEPEvt
private

◆ hepmcAscii

G4VPrimaryGenerator* ExN04PrimaryGeneratorAction::hepmcAscii
private

◆ messenger

ExN04PrimaryGeneratorMessenger * ExN04PrimaryGeneratorAction::messenger
private

◆ particleGun

G4VPrimaryGenerator * ExN04PrimaryGeneratorAction::particleGun
private

◆ pythiaGen

G4VPrimaryGenerator* ExN04PrimaryGeneratorAction::pythiaGen
private

◆ useHEPEvt

G4bool ExN04PrimaryGeneratorAction::useHEPEvt
private

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