G4DarkBreM  v2.1.0
Geant4 Dark Bremmstrahlung from MadGraph
G4APrime Class Reference

Formal class representing the A' (a dark photon) More...

#include <G4APrime.h>

Inheritance diagram for G4APrime:
[legend]
Collaboration diagram for G4APrime:
[legend]

Public Types

enum class  DecayMode { NoDecay = 1 , FlatDecay = 2 , GeantDecay = 3 }
 How to handle APrime decays. More...
 

Static Public Member Functions

static G4APrimeAPrime ()
 Accessor for APrime definition. More...
 
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. More...
 
static DecayMode getDecayMode ()
 Get the G4APrime::DecayMode that was provided to G4APrime::Initialize.
 

Private Member Functions

 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. More...
 
virtual ~G4APrime ()
 Destructor. More...
 

Static Private Attributes

static G4APrimetheAPrime = 0
 Reference to single particle definition of A'.
 
static DecayMode decay_mode_ = G4APrime::DecayMode::NoDecay
 the G4APrime::DecayMode that was provided to G4APrime::Initialize
 

Detailed Description

Formal class representing the A' (a dark photon)

This class follows the standard prototype for all G4ParticleDefinitions where a static private member holds onto the single instance of this particle definition to be shared by everyone. In this case, G4APrime::Initialize needs to be called before any calls to G4APrime::G4APrime so that the simulation has a defined A' mass.

The G4APrime::Initialize call should be done in the ConstructParticle function of a physics constructor.

Member Enumeration Documentation

◆ DecayMode

enum G4APrime::DecayMode
strong

How to handle APrime decays.

Enumerator
NoDecay 

No decay/stable – this is the default.

FlatDecay 

Flat decay – the decay proper time will be randomly sampled from a uniform distribution whose maximum and minimum are set in the g4db::G4DarkBreMModel::GenerateChange method based on parameters of that class.

As with GeantDecay, the APrime will decay to e-/e+.

GeantDecay 

Let Geant4 handle the decay.

In this case, the lifetime must be included as a parameter of the constructor.

e-/e+ is the only decay channel.

Constructor & Destructor Documentation

◆ G4APrime()

G4APrime::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 
)
inlineprivate

Constructor.

Passes all parameters to the base class constructor to register this particle definition with Geant4.

Member Function Documentation

◆ APrime()

G4APrime * G4APrime::APrime ( )
static

Accessor for APrime definition.

Exceptions
std::runtime_errorif the APrime is not initialized yet.
See also
Initialize for configuring and constructing the APrime at the start of a run.

◆ Initialize()

void G4APrime::Initialize ( double  mass,
int  id = 62,
double  tau = -1.0,
G4APrime::DecayMode  decay_mode = DecayMode::NoDecay 
)
static

Initialize the APrime particle with the passed configuration.

Exceptions
std::runtime_errorif the APrime has already been initialized
Parameters
[in]massThe mass of the APrime in MeV
[in]idThe PDG ID number to use for the APrime particle
[in]tauThe proper lifetime (only used if decay_mode is set to GeantDecay)
[in]decay_modeG4APrime::DecayMode on whether/how to decay the A'

The default value for the PDG ID is set to 62 and has been arbitrarily chosen from the range defined by 11(c) in the PDG ID numbering scheme, avoiding the already-defined "one-of-a-kind" particles using 39, 41, and 42.

Here are the properties of the formal Geant4 dark photon we define.

Property Value
short name A^1
mass configured
mass width 0
electric charge 0
spin 0
parity 0
conjugation 0
isospin 0
isospin3 0
Gparity 0
long name APrime
lepton number 0
baryon number 0
PDG ID encoding configured
is stable (no decay) depends on DecayMode
lifetime depends on DecayMode
decay table depends on DecayMode

◆ ~G4APrime()

virtual G4APrime::~G4APrime ( )
inlineprivatevirtual

Destructor.

Does nothing on purpose.


The documentation for this class was generated from the following files: