G4DarkBreM
v2.1.0
Geant4 Dark Bremmstrahlung from MadGraph
|
basic physics constructor which simply creates the A' and the dark brem More...
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< G4DarkBremsstrahlung > | the_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 | |
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.
|
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.
|
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.