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

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/include/RAT/VertexGen_CC.hh Source File
Ratpac-two
VertexGen_CC.hh
1 #ifndef __RAT_VertexGen_CC__
2 #define __RAT_VertexGen_CC__
3 
4 #include <G4Event.hh>
5 #include <G4ThreeVector.hh>
6 #include <RAT/CCgen.hh>
7 #include <RAT/GLG4VertexGen.hh>
8 #include <globals.hh>
9 
27 
28 namespace RAT {
29 
30 class VertexGen_CC : public GLG4VertexGen {
31  public:
32  // Note that the database named is "ibd" by default in the
33  // constructor. In other words, we assume the anti-neutrino flux
34  // is the same for both inverse beta-decay (IBD) and elastic
35  // scattering (CC)... at least for now.
36 
37  VertexGen_CC(const char *arg_dbname = "solar");
38  virtual ~VertexGen_CC();
39  virtual void GeneratePrimaryVertex(G4Event *argEvent, G4ThreeVector &dx, G4double dt);
40  // generates a primary vertex with given particle type, direction, and energy.
41  virtual void SetState(G4String newValues);
42  // format: dir_x dir_y dir_z
43  // If dir_x==dir_y==dir_z==0, the directions are isotropic.
44  virtual G4String GetState();
45  // returns current state formatted as above
46 
57  void SetFlux(const G4String flux);
58 
64  G4String GetFlux() { return fFlux; };
65 
72  void SetNuFlavor(const G4String flavor);
73 
75  G4String GetNuFlavor() { return fNuFlavor; };
76 
80  CCgen *GetHelper() { return fCCgen; };
81 
86  const G4String GetDBName() const { return fDBName; }
87 
92  void SetDBName(const G4String name);
93 
94  private:
96  G4ParticleDefinition *fElectron, *fNue, *fNumu;
97 
99  G4ThreeVector fNuDir;
100 
102  G4String fFlux;
103 
106  G4String fNuFlavor;
107 
113  CCgen *fCCgen;
114 
115  // Electron mass
116  double fElectronMass;
117 
121  G4String fDBName;
122 
124  bool fRandomDir;
125 };
126 
127 } // namespace RAT
128 
129 #endif
Definition: GLG4VertexGen.hh:26
Implements the generation of a neutrino-nucleus charged current interaction.
Definition: CCgen.hh:38
Vertex generator for neutrino-electron elastic scattering.
Definition: VertexGen_CC.hh:30
void SetFlux(const G4String flux)
Definition: VertexGen_CC.cc:173
CCgen * GetHelper()
Definition: VertexGen_CC.hh:80
void SetNuFlavor(const G4String flavor)
Definition: VertexGen_CC.cc:179
const G4String GetDBName() const
Definition: VertexGen_CC.hh:86
G4String GetNuFlavor()
Definition: VertexGen_CC.hh:75
void SetDBName(const G4String name)
Definition: VertexGen_CC.cc:185
G4String GetFlux()
Definition: VertexGen_CC.hh:64
Definition: CCCrossSecMessenger.hh:29