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

#include <Doxymodules_eventgenerator.h>

Inheritance diagram for ExN04PrimaryGeneratorAction:
G4VUserPrimaryGeneratorAction

Public Member Functions

 ExN04PrimaryGeneratorAction ()
 
 ~ExN04PrimaryGeneratorAction ()
 
virtual void GeneratePrimaries (G4Event *anEvent)
 
void SetGenerator (G4VPrimaryGenerator *gen)
 
void SetGenerator (G4String genname)
 
G4VPrimaryGeneratorGetGenerator () const
 
G4String GetGeneratorName () const
 

Private Attributes

G4VPrimaryGeneratorfParticleGun
 
G4VPrimaryGeneratorfHepmcAscii
 
G4VPrimaryGeneratorfPythiaGen
 
G4VPrimaryGeneratorfCurrentGenerator
 
G4String fCurrentGeneratorName
 
std::map< G4String, G4VPrimaryGenerator * > fGentypeMap
 
ExN04PrimaryGeneratorMessengerfMessenger
 

Detailed Description

Definition at line 45 of file Doxymodules_eventgenerator.h.

Constructor & Destructor Documentation

◆ ExN04PrimaryGeneratorAction()

ExN04PrimaryGeneratorAction::ExN04PrimaryGeneratorAction ( )

Definition at line 40 of file ExN04PrimaryGeneratorAction.cc.

42{
43 // default generator is particle gun.
45 fCurrentGeneratorName = "fParticleGun";
47#ifdef G4LIB_USE_PYTHIA
49#else
50 fPythiaGen = 0;
51#endif
52 fGentypeMap["particleGun"] = fParticleGun;
53 fGentypeMap["hepmcAscii"] = fHepmcAscii;
54 fGentypeMap["pythia"] = fPythiaGen;
55
57}
std::map< G4String, G4VPrimaryGenerator * > fGentypeMap
ExN04PrimaryGeneratorMessenger * fMessenger
A generic interface class with Pythia event generator via HepMC.

◆ ~ExN04PrimaryGeneratorAction()

ExN04PrimaryGeneratorAction::~ExN04PrimaryGeneratorAction ( )

Definition at line 60 of file ExN04PrimaryGeneratorAction.cc.

61{
62 delete fMessenger;
63}

Member Function Documentation

◆ GeneratePrimaries()

void ExN04PrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Definition at line 66 of file ExN04PrimaryGeneratorAction.cc.

67{
69 fCurrentGenerator-> GeneratePrimaryVertex(anEvent);
70 else
71 G4Exception("ExN04PrimaryGeneratorAction::GeneratePrimaries",
72 "PrimaryGeneratorAction001", FatalException,
73 "generator is not instanciated." );
74}

◆ SetGenerator() [1/2]

void ExN04PrimaryGeneratorAction::SetGenerator ( G4VPrimaryGenerator gen)
inline

Definition at line 69 of file ExN04PrimaryGeneratorAction.hh.

70{
72}

◆ SetGenerator() [2/2]

void ExN04PrimaryGeneratorAction::SetGenerator ( G4String  genname)
inline

Definition at line 74 of file ExN04PrimaryGeneratorAction.hh.

75{
76 std::map<G4String, G4VPrimaryGenerator*>::iterator pos =
77 fGentypeMap.find(genname);
78 if ( pos != fGentypeMap.end() ) {
79 fCurrentGenerator = pos->second;
80 fCurrentGeneratorName = genname;
81 }
82}

◆ GetGenerator()

G4VPrimaryGenerator * ExN04PrimaryGeneratorAction::GetGenerator ( ) const
inline

Definition at line 84 of file ExN04PrimaryGeneratorAction.hh.

85{
86 return fCurrentGenerator;
87}

◆ GetGeneratorName()

G4String ExN04PrimaryGeneratorAction::GetGeneratorName ( ) const
inline

Definition at line 89 of file ExN04PrimaryGeneratorAction.hh.

90{
92}

Member Data Documentation

◆ fParticleGun

G4VPrimaryGenerator* ExN04PrimaryGeneratorAction::fParticleGun
private

Definition at line 56 of file ExN04PrimaryGeneratorAction.hh.

◆ fHepmcAscii

G4VPrimaryGenerator* ExN04PrimaryGeneratorAction::fHepmcAscii
private

Definition at line 57 of file ExN04PrimaryGeneratorAction.hh.

◆ fPythiaGen

G4VPrimaryGenerator* ExN04PrimaryGeneratorAction::fPythiaGen
private

Definition at line 58 of file ExN04PrimaryGeneratorAction.hh.

◆ fCurrentGenerator

G4VPrimaryGenerator* ExN04PrimaryGeneratorAction::fCurrentGenerator
private

Definition at line 60 of file ExN04PrimaryGeneratorAction.hh.

◆ fCurrentGeneratorName

G4String ExN04PrimaryGeneratorAction::fCurrentGeneratorName
private

Definition at line 61 of file ExN04PrimaryGeneratorAction.hh.

◆ fGentypeMap

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

Definition at line 62 of file ExN04PrimaryGeneratorAction.hh.

◆ fMessenger

ExN04PrimaryGeneratorMessenger* ExN04PrimaryGeneratorAction::fMessenger
private

Definition at line 64 of file ExN04PrimaryGeneratorAction.hh.


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

Applications | User Support | Publications | Collaboration