G4DarkBreM v2.3.0
Geant4 Dark Bremmstrahlung from MadGraph
Loading...
Searching...
No Matches
G4APrime.h
Go to the documentation of this file.
1
9#ifndef SIMCORE_DARKBREM_G4APRIME_H_
10#define SIMCORE_DARKBREM_G4APRIME_H_
11
12// Geant
13#include "G4ParticleDefinition.hh"
14#include "G4SystemOfUnits.hh"
15
16class G4String;
17class G4DecayTable;
18
31class G4APrime : public G4ParticleDefinition {
32 public:
38 enum class DecayMode {
42 NoDecay = 1,
43
52 FlatDecay = 2,
53
60 GeantDecay = 3
61 };
62
71 static G4APrime* APrime();
72
90 static void Initialize(double mass, int id = 62, double tau = -1.0,
91 DecayMode decay_mode = DecayMode::NoDecay,
92 int decay_id = 17);
93
95 static DecayMode getDecayMode() { return decay_mode_; }
96
97 private:
100
107 G4APrime(const G4String& Name, G4double mass, G4double width, G4double charge,
108 G4int iSpin, G4int iParity, G4int iConjugation, G4int iIsospin,
109 G4int iIsospin3, G4int gParity, const G4String& pType, G4int lepton,
110 G4int baryon, G4int encoding, G4bool stable, G4double lifetime,
111 G4DecayTable* decaytable)
112 : G4ParticleDefinition(Name, mass, width, charge, iSpin, iParity,
113 iConjugation, iIsospin, iIsospin3, gParity, pType,
114 lepton, baryon, encoding, stable, lifetime,
115 decaytable) {}
116
119
121 static int decay_id_;
122
128 virtual ~G4APrime() {}
129};
130
131#endif // SIMCORE_DARKBREM_G4APRIME_H_
Formal class representing the A' (a dark photon)
Definition G4APrime.h:31
static G4APrime * APrime()
Accessor for APrime definition.
Definition G4APrime.cxx:16
static int decay_id_
Decay product PDG ID (only used for decaying A' mode)
Definition G4APrime.h:121
static DecayMode getDecayMode()
Get the G4APrime::DecayMode that was provided to G4APrime::Initialize.
Definition G4APrime.h:95
static void Initialize(double mass, int id=62, double tau=-1.0, DecayMode decay_mode=DecayMode::NoDecay, int decay_id=17)
Initialize the APrime particle with the passed configuration.
Definition G4APrime.cxx:26
static G4APrime * theAPrime
Reference to single particle definition of A'.
Definition G4APrime.h:99
DecayMode
How to handle APrime decays.
Definition G4APrime.h:38
@ 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...
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:107
static DecayMode decay_mode_
the G4APrime::DecayMode that was provided to G4APrime::Initialize
Definition G4APrime.h:118
virtual ~G4APrime()
Destructor.
Definition G4APrime.h:128