G4DarkBreM  v2.1.0
Geant4 Dark Bremmstrahlung from MadGraph
g4db::example::APrimePhysics Class Reference

basic physics constructor which simply creates the A' and the dark brem More...

Inheritance diagram for g4db::example::APrimePhysics:
[legend]
Collaboration diagram for g4db::example::APrimePhysics:
[legend]

Public Member Functions

 APrimePhysics (const std::string &lp, double ap_mass, bool muons, double bias)
 create the physics and store the parameters
 
void ConstructParticle () final override
 Insert A-prime into the Geant4 particle table. More...
 
void ConstructProcess () final override
 Construct and configure the dark brem process. More...
 

Private Attributes

std::unique_ptr< G4DarkBremsstrahlungthe_process_
 handle to the process, cleaned up when the physics list is desctructed
 
std::string library_path_
 path to library for the model to load
 
double ap_mass_
 mass of A' in GeV
 
bool muons_
 true for using muons, electrons otherwise
 
double bias_
 bias factor to apply everywhere
 

Detailed Description

basic physics constructor which simply creates the A' and the dark brem

We follow the Geant4 model where we construct the particle and then the process. APrimePhysics::ConstructParticle configures the G4APrime and APrimePhysics::ConstructProcess configures G4DarkBremsstrahlung.

Member Function Documentation

◆ ConstructParticle()

void g4db::example::APrimePhysics::ConstructParticle ( )
inlinefinaloverride

Insert A-prime into the Geant4 particle table.

We define its mass here using G4APrime::Initialize. Future calls to G4APrime::APrime for the rest of the run will use that mass.

Geant4 registers all instances derived from G4ParticleDefinition and deletes them at the end of the run so we do not need to cleanup the constructed particle definition.

◆ ConstructProcess()

void g4db::example::APrimePhysics::ConstructProcess ( )
inlinefinaloverride

Construct and configure the dark brem process.

We own the process and clean it up when the physics constructor is cleaned up by Geant4 after registration.

Besides the required configuration parameters (the path to the dark brem library and whether or not we are dark-bremming off muons), we leave the rest of the sim parameters to their default values. Look at G4DarkBreMModel::G4DarkBreMModel for the default value definitions to see if your situation requires changing any of them.


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