G4DarkBreM
v2.1.0
Geant4 Dark Bremmstrahlung from MadGraph
|
Abstract class representing a model for dark brem. More...
#include <PrototypeModel.h>
Public Member Functions | |
PrototypeModel (bool muons) | |
Constructor. More... | |
virtual | ~PrototypeModel ()=default |
Destructor, nothing on purpose. | |
void | SetVerboseLevel (int l) |
Define the verbose level. More... | |
int | GetVerboseLevel () const |
Get the verbose level of the model. More... | |
bool | DarkBremOffMuons () const |
Check if we are bremming off muons. More... | |
virtual void | PrintInfo () const =0 |
Print the configuration of this model. More... | |
virtual G4double | ComputeCrossSectionPerAtom (G4double leptonKE, G4double atomicA, G4double atomicZ)=0 |
Calculate the cross section given the input parameters. More... | |
virtual void | GenerateChange (G4ParticleChange &particleChange, const G4Track &track, const G4Step &step, const G4Element &element)=0 |
Generate the change in the particle now that we can assume the interaction is occuring. More... | |
Protected Attributes | |
bool | muons_ |
whether muons (true) or electrons (false) are dark bremming | |
int | verbose_level_ {0} |
verbose level for this model | |
Abstract class representing a model for dark brem.
The model is what actually determines two important things:
This class is the base class that shows what is necessary for the model to function properly.
|
inline |
Constructor.
Configures the model based on the passed parameters
Names the logger after the name for this model.
|
pure virtual |
Calculate the cross section given the input parameters.
[in] | leptonKE | current lepton kinetic energy |
[in] | atomicA | atomic-mass number for the element the lepton is in |
[in] | atomicZ | atomic-number for the element the lepton is in |
Implemented in g4db::G4DarkBreMModel.
|
inline |
Check if we are bremming off muons.
If false, assume we are bremming off electrons.
|
pure virtual |
Generate the change in the particle now that we can assume the interaction is occuring.
[in,out] | particleChange | particle change class that stores information |
[in] | track | current track that needs the change |
[in] | step | current step of the track |
[in] | element | the element selected to dark brem off of |
Implemented in g4db::G4DarkBreMModel.
|
inline |
Get the verbose level of the model.
Use this in model functions to decide if a printout should be done or not.
|
pure virtual |
Print the configuration of this model.
Helpful for debugging and keeping the process compliant with the other Geant4 processes.
Implemented in g4db::G4DarkBreMModel.
|
inline |
Define the verbose level.
This is called after the model is passed into the process so that the model and the process have the same verbose level. Only call this if you wish the model and the process to not have the same verbose level.
[in] | l | verbose leve |