LDMX Software
GammaPhysics.h
Go to the documentation of this file.
1
10#ifndef SIMCORE_GAMMAPHYSICS_H_
11#define SIMCORE_GAMMAPHYSICS_H_
12
13//------------//
14// Geant4 //
15//------------//
16#include "Framework/Configure/Parameters.h"
17#include "G4GammaConversionToMuons.hh"
18#include "G4VPhysicsConstructor.hh"
19
20namespace simcore {
21
34class GammaPhysics : public G4VPhysicsConstructor {
35 public:
41 GammaPhysics(const G4String& name,
42 const framework::config::Parameters& parameters);
43
47 virtual ~GammaPhysics() = default;
48
55 void ConstructParticle() final;
56
67 void ConstructProcess() final;
68
69 private:
73 G4GammaConversionToMuons gamma_conv_process_;
74
78 framework::config::Parameters model_parameters_;
79};
80
81} // namespace simcore
82
83#endif
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:26
extra gamma particle physics for simulation and sets up the photonuclear model to use from the config...
GammaPhysics(const G4String &name, const framework::config::Parameters &parameters)
Class constructor.
G4GammaConversionToMuons gamma_conv_process_
The gamma to muons process.
void ConstructProcess() final
We do two things for this call back during initialization.
virtual ~GammaPhysics()=default
Class destructor.
void ConstructParticle() final
Construct particles.
framework::config::Parameters model_parameters_
Parameters from the configuration to pass along to the photonuclear model.
All classes in the ldmx-sw project use this namespace.
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...