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 "G4GammaConversionToMuons.hh"
17#include "G4ProcessManager.hh"
18#include "G4VPhysicsConstructor.hh"
19#include "G4VProcess.hh"
20#include "SimCore/PhotoNuclearModels/PhotoNuclearModel.h"
21
22namespace simcore {
23
36class GammaPhysics : public G4VPhysicsConstructor {
37 public:
43 GammaPhysics(const G4String& name,
44 const framework::config::Parameters& parameters);
45
49 virtual ~GammaPhysics() = default;
50
57 void ConstructParticle() final;
58
69 void ConstructProcess() final;
70
71 private:
75 G4GammaConversionToMuons gamma_conv_process_;
76
80 framework::config::Parameters model_parameters_;
81};
82
83} // namespace simcore
84
85#endif
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
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 ...