G4DarkBreM v2.2.2
Geant4 Dark Bremmstrahlung from MadGraph
Loading...
Searching...
No Matches
G4FractionallyCharged Class Reference

Formal class representing the milli-charged particle in Geant4. More...

#include <G4FractionallyCharged.h>

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

Public Types

enum class  DecayMode { NoDecay = 1 }
 How to handle FractionallyCharged decays. More...
 

Static Public Member Functions

static G4FractionallyChargedFractionallyCharged ()
 Accessor for FractionallyCharged definition.
 
static void Initialize (double mass, int id=17, float charge=0.1)
 Initialize the FractionallyCharged particle with the passed configuration.
 
static DecayMode getDecayMode ()
 Get the G4FractionallyCharged::DecayMode that was provided to G4FractionallyCharged::Initialize.
 

Private Member Functions

 G4FractionallyCharged (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.
 
virtual ~G4FractionallyCharged ()=default
 Destructor.
 

Static Private Attributes

static G4FractionallyChargedtheFractionallyCharged = 0
 Reference to single particle definition of A'.
 

Detailed Description

Formal class representing the milli-charged particle in Geant4.

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, G4FractionallyCharged::Initialize needs to be called before any calls to G4FractionallyCharged::G4FractionallyCharged so that the simulation has a defined FCM mass.

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

Member Enumeration Documentation

◆ DecayMode

How to handle FractionallyCharged decays.

Enumerator
NoDecay 

No decay/stable – this is the default.

Constructor & Destructor Documentation

◆ G4FractionallyCharged()

G4FractionallyCharged::G4FractionallyCharged ( 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

◆ FractionallyCharged()

G4FractionallyCharged * G4FractionallyCharged::FractionallyCharged ( )
static

Accessor for FractionallyCharged definition.

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

◆ Initialize()

void G4FractionallyCharged::Initialize ( double  mass,
int  id = 17,
float  charge = 0.1 
)
static

Initialize the FractionallyCharged particle with the passed configuration.

Exceptions
std::runtime_errorif the FractionallyCharged has already been initialized
Parameters
[in]massThe mass of the FractionallyCharged in MeV
[in]idThe PDG ID number to use for the FractionallyCharged particle The default value for the PDG ID is set to 17 as a 4th generation lepton whose charge is a free parameter which we can set to be a small fraction of e.

Here are the properties of the formal Geant4 fcp we define.

Property Value
short name fcp-
mass configured
mass width 0
electric charge configured
spin 0
parity 0
conjugation 0
isospin 0
isospin3 0
Gparity 0
long name FractionallyCharged-
lepton number 0
baryon number 0
PDG ID encoding configured
is stable (no decay) true
lifetime stable
decay table since fcp is stable, always nullptr

◆ ~G4FractionallyCharged()

virtual G4FractionallyCharged::~G4FractionallyCharged ( )
privatevirtualdefault

Destructor.

Does nothing on purpose.


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