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

#include <Doxymodules_eventgenerator.h>

Inheritance diagram for H02PrimaryGeneratorAction:
G4VUserPrimaryGeneratorAction

Public Member Functions

 H02PrimaryGeneratorAction ()
 
 ~H02PrimaryGeneratorAction ()
 
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
 
H02PrimaryGeneratorMessengerfMessenger
 

Detailed Description

Definition at line 75 of file Doxymodules_eventgenerator.h.

Constructor & Destructor Documentation

◆ H02PrimaryGeneratorAction()

H02PrimaryGeneratorAction::H02PrimaryGeneratorAction ( )

Definition at line 37 of file H02PrimaryGeneratorAction.cc.

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

◆ ~H02PrimaryGeneratorAction()

H02PrimaryGeneratorAction::~H02PrimaryGeneratorAction ( )

Definition at line 58 of file H02PrimaryGeneratorAction.cc.

59{
60 delete fMessenger;
61}

Member Function Documentation

◆ GeneratePrimaries()

void H02PrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Definition at line 64 of file H02PrimaryGeneratorAction.cc.

65{
67 fCurrentGenerator-> GeneratePrimaryVertex(anEvent);
68 else
69 G4Exception("H02PrimaryGeneratorAction::GeneratePrimaries",
70 "InvalidSetup", FatalException,
71 "Generator is not instanciated.");
72}

◆ SetGenerator() [1/2]

void H02PrimaryGeneratorAction::SetGenerator ( G4VPrimaryGenerator gen)
inline

Definition at line 72 of file H02PrimaryGeneratorAction.hh.

73{
75}

◆ SetGenerator() [2/2]

void H02PrimaryGeneratorAction::SetGenerator ( G4String  genname)
inline

Definition at line 77 of file H02PrimaryGeneratorAction.hh.

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

◆ GetGenerator()

G4VPrimaryGenerator * H02PrimaryGeneratorAction::GetGenerator ( ) const
inline

Definition at line 87 of file H02PrimaryGeneratorAction.hh.

88{
89 return fCurrentGenerator;
90}

◆ GetGeneratorName()

G4String H02PrimaryGeneratorAction::GetGeneratorName ( ) const
inline

Definition at line 92 of file H02PrimaryGeneratorAction.hh.

93{
95}

Member Data Documentation

◆ fParticleGun

G4VPrimaryGenerator* H02PrimaryGeneratorAction::fParticleGun
private

Definition at line 59 of file H02PrimaryGeneratorAction.hh.

◆ fHepmcAscii

G4VPrimaryGenerator* H02PrimaryGeneratorAction::fHepmcAscii
private

Definition at line 60 of file H02PrimaryGeneratorAction.hh.

◆ fPythiaGen

G4VPrimaryGenerator* H02PrimaryGeneratorAction::fPythiaGen
private

Definition at line 61 of file H02PrimaryGeneratorAction.hh.

◆ fCurrentGenerator

G4VPrimaryGenerator* H02PrimaryGeneratorAction::fCurrentGenerator
private

Definition at line 63 of file H02PrimaryGeneratorAction.hh.

◆ fCurrentGeneratorName

G4String H02PrimaryGeneratorAction::fCurrentGeneratorName
private

Definition at line 64 of file H02PrimaryGeneratorAction.hh.

◆ fGentypeMap

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

Definition at line 65 of file H02PrimaryGeneratorAction.hh.

◆ fMessenger

H02PrimaryGeneratorMessenger* H02PrimaryGeneratorAction::fMessenger
private

Definition at line 67 of file H02PrimaryGeneratorAction.hh.


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

Applications | User Support | Publications | Collaboration