/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/include/RAT/GdGen.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/include/RAT/GdGen.hh Source File
Ratpac-two
GdGen.hh
1 // fsutanto@umich.edu
2 // Apr 15, 2018
3 // almost copy pasted from CfGen.hh
4 
5 #ifndef __RAT_GdGen__
6 #define __RAT_GdGen__
7 
8 #include <RAT/DB.hh>
9 #include <RAT/GLG4Gen.hh>
10 #include <globals.hh>
11 
12 class G4Event;
13 class G4ParticleDefinition;
14 class GLG4TimeGen;
15 class GLG4PosGen;
16 
17 namespace RAT {
18 
19 class GdGen : public GLG4Gen {
20  public:
21  GdGen();
22  virtual ~GdGen();
23 
24  virtual void GenerateEvent(G4Event *event);
25  virtual void ResetTime(double offset = 0.0);
26  virtual bool IsRepeatable() const { return true; };
27  virtual void SetState(G4String state);
28  virtual G4String GetState() const;
29  virtual void SetTimeState(G4String state);
30  virtual G4String GetTimeState() const;
31  virtual void SetPosState(G4String state);
32  virtual G4String GetPosState() const;
33 
34  protected:
35  // Generator initialization, specified by the user.
36  G4String stateStr;
37 
38  // Gd158 isotope.
39  int isotope;
40 
41  // The time and position generators specified by the user.
42  GLG4TimeGen *timeGen;
43  GLG4PosGen *posGen;
44 
45  // The Gd158Source event model only generate electrons and photons.
46  G4ParticleDefinition *electron;
47  G4ParticleDefinition *gamma;
48 
49  // Secondaries data from the database
50  std::vector<int> thePar, theMul;
51  std::vector<double> theErg, theCdf;
52  int theMax;
53 };
54 
55 } // namespace RAT
56 
57 #endif // RAT_GdGen_h
Definition: GLG4Gen.hh:14
Definition: GLG4PosGen.hh:18
Definition: GLG4TimeGen.hh:6
Definition: GdGen.hh:19
Definition: CCCrossSecMessenger.hh:29