GGS(GenericGEANT4Simulation)Software  2.6.0
 All Data Structures Namespaces Files Functions Variables Typedefs Macros
GGSMultiParticleGeneratorAction.h
Go to the documentation of this file.
1 /*
2  * GGSMultiParticleGeneratorAction.h
3  *
4  * Created on: 09/may/2011
5  * Author: Nicola Mori
6  */
7 
10 #ifndef GGSMULTIPARTICLEGENERATORACTION_H_
11 #define GGSMULTIPARTICLEGENERATORACTION_H_
12 
13 #include <fstream>
14 #include <vector>
15 
16 #include "G4VUserPrimaryGeneratorAction.hh"
17 #include "G4PrimaryParticle.hh"
18 #include "G4PrimaryVertex.hh"
19 
20 class G4GenericMessenger;
21 
31 class GGSMultiParticleGeneratorAction: public G4VUserPrimaryGeneratorAction {
32 public:
33 
36 
39 
40  void SetEventsFile(const G4String &evFile);
41 
43  void GeneratePrimaries(G4Event *anEvent);
44 
45 private:
46  std::ifstream _inputFile;
47 
48  struct Particle {
49  G4PrimaryParticle *theParticle;
50  G4int ISTHEP;
51  G4int JDAHEP1;
52  G4int JDAHEP2;
53  G4PrimaryVertex *theVertex;
54  };
55 
56  std::vector<Particle*> _particles;
57 
58  G4GenericMessenger *_messenger;
59 };
60 
61 #endif /* GGSMULTIPARTICLEGENERATORACTION_H_ */
A multi-particle generator action.
void GeneratePrimaries(G4Event *anEvent)
Override of GeneratePrimaries method.