Cosmic-muon primary generator backed by the EcoMug sampler. More...
#include <RMGGeneratorCosmicMuons.hh>


Public Types | |
| enum class | SkyShape { kPlane , kSphere } |
| Geometric shape of the surface from which muons are sampled. More... | |
Public Member Functions | |
| RMGGeneratorCosmicMuons (RMGGeneratorCosmicMuons const &)=delete | |
| RMGGeneratorCosmicMuons & | operator= (RMGGeneratorCosmicMuons const &)=delete |
| RMGGeneratorCosmicMuons (RMGGeneratorCosmicMuons &&)=delete | |
| RMGGeneratorCosmicMuons & | operator= (RMGGeneratorCosmicMuons &&)=delete |
| void | GeneratePrimaries (G4Event *) override |
| Sample a muon from EcoMug and fire it through the internal particle gun. | |
| void | SetParticlePosition (G4ThreeVector) override |
| No-op: vertex sampling is owned by EcoMug. | |
| void | BeginOfRunAction (const G4Run *) override |
| Configure EcoMug with the user-supplied sky shape and kinematic ranges. | |
| void | EndOfRunAction (const G4Run *) override |
| Called at the end of a run. | |
Public Member Functions inherited from RMGVGenerator | |
| RMGVGenerator (std::string name) | |
| RMGVGenerator (RMGVGenerator const &)=delete | |
| RMGVGenerator & | operator= (RMGVGenerator const &)=delete |
| RMGVGenerator (RMGVGenerator &&)=delete | |
| RMGVGenerator & | operator= (RMGVGenerator &&)=delete |
| void | SetReportingFrequency (int freq) |
| std::string | GetGeneratorName () |
Additional Inherited Members | |
Protected Attributes inherited from RMGVGenerator | |
| std::string | fGeneratorName |
| std::unique_ptr< G4UImessenger > | fMessenger |
| int | fReportingFrequency = 1000 |
Cosmic-muon primary generator backed by the EcoMug sampler.
Generates atmospheric muons sampled either from a horizontal plane or from the upper hemisphere of a sphere (see SkyShape). Momentum, zenith/azimuth and source-position ranges are configurable through messenger commands. Vertex position is sampled internally by EcoMug, so SetParticlePosition is a no-op.
Based on EcoMug, Pagano et al., NIM A 1014 (2021) 165732, https://doi.org/10.1016/j.nima.2021.165732.
|
strong |
|
overridevirtual |
Configure EcoMug with the user-supplied sky shape and kinematic ranges.
Reimplemented from RMGVGenerator.
|
inlineoverridevirtual |
Called at the end of a run.
Derived generators can perform any necessary finalization in this method.
Reimplemented from RMGVGenerator.
|
overridevirtual |
Sample a muon from EcoMug and fire it through the internal particle gun.
Implements RMGVGenerator.
|
inlineoverridevirtual |
No-op: vertex sampling is owned by EcoMug.
Implements RMGVGenerator.