G4DarkBreM  v2.1.0
Geant4 Dark Bremmstrahlung from MadGraph
G4APrime.h
Go to the documentation of this file.
1 
7 #ifndef SIMCORE_DARKBREM_G4APRIME_H_
8 #define SIMCORE_DARKBREM_G4APRIME_H_
9 
10 // Geant
11 #include "G4ParticleDefinition.hh"
12 #include "G4SystemOfUnits.hh"
13 
14 class G4String;
15 class G4DecayTable;
16 
29 class G4APrime : public G4ParticleDefinition {
30  public:
36  enum class DecayMode {
40  NoDecay = 1,
41 
50  FlatDecay = 2,
51 
58  GeantDecay = 3
59  };
60 
69  static G4APrime* APrime();
70 
88  static void Initialize(double mass, int id = 62, double tau = -1.0,
89  DecayMode decay_mode = DecayMode::NoDecay);
90 
92  static DecayMode getDecayMode() { return decay_mode_; }
93 
94  private:
97 
104  G4APrime(const G4String& Name, G4double mass, G4double width, G4double charge,
105  G4int iSpin, G4int iParity, G4int iConjugation, G4int iIsospin,
106  G4int iIsospin3, G4int gParity, const G4String& pType, G4int lepton,
107  G4int baryon, G4int encoding, G4bool stable, G4double lifetime,
108  G4DecayTable* decaytable)
109  : G4ParticleDefinition(Name, mass, width, charge, iSpin, iParity,
110  iConjugation, iIsospin, iIsospin3, gParity, pType,
111  lepton, baryon, encoding, stable, lifetime,
112  decaytable) {}
113 
116 
122  virtual ~G4APrime() {}
123 };
124 
125 #endif // SIMCORE_DARKBREM_G4APRIME_H_
Formal class representing the A' (a dark photon)
Definition: G4APrime.h:29
static G4APrime * APrime()
Accessor for APrime definition.
Definition: G4APrime.cxx:19
static DecayMode getDecayMode()
Get the G4APrime::DecayMode that was provided to G4APrime::Initialize.
Definition: G4APrime.h:92
static G4APrime * theAPrime
Reference to single particle definition of A'.
Definition: G4APrime.h:96
DecayMode
How to handle APrime decays.
Definition: G4APrime.h:36
@ NoDecay
No decay/stable – this is the default.
@ GeantDecay
Let Geant4 handle the decay.
@ FlatDecay
Flat decay – the decay proper time will be randomly sampled from a uniform distribution whose maximum...
static void Initialize(double mass, int id=62, double tau=-1.0, DecayMode decay_mode=DecayMode::NoDecay)
Initialize the APrime particle with the passed configuration.
Definition: G4APrime.cxx:29
G4APrime(const G4String &Name, G4double mass, G4double width, G4double charge, G4int iSpin, G4int iParity, G4int iConjugation, G4int iIsospin, G4int iIsospin3, G4int gParity, const G4String &pType, G4int lepton, G4int baryon, G4int encoding, G4bool stable, G4double lifetime, G4DecayTable *decaytable)
Constructor.
Definition: G4APrime.h:104
static DecayMode decay_mode_
the G4APrime::DecayMode that was provided to G4APrime::Initialize
Definition: G4APrime.h:115
virtual ~G4APrime()
Destructor.
Definition: G4APrime.h:122