LDMX Software
GenieNuclearPhysics.h
Go to the documentation of this file.
1
7#ifndef SIMCORE_GENIENUCLEARPHYSICS_H
8#define SIMCORE_GENIENUCLEARPHYSICS_H
9
10#include "Framework/Configure/Parameters.h"
11#include "Framework/Logger.h"
12#include "G4VPhysicsConstructor.hh"
13
14namespace simcore {
15
24class GenieNuclearPhysics : public G4VPhysicsConstructor {
25 public:
27 static const std::string NAME;
28
34
35 ~GenieNuclearPhysics() override = default;
36
38 void ConstructParticle() override;
39
44 void ConstructProcess() override;
45
46 private:
49
51 bool enable_;
52
53 enableLogging("GenieNuclearPhysics")
54};
55
56} // namespace simcore
57
58#endif // SIMCORE_GENIENUCLEARPHYSICS_H
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
Physics constructor that replaces the built-in Geant4 electronNuclear process with the GENIE-based Ge...
framework::config::Parameters params_
Stored configuration to forward to the process.
GenieNuclearPhysics(const framework::config::Parameters &params)
Constructor.
void ConstructProcess() override
Remove the built-in electronNuclear process and register the GENIE-based replacement.
static const std::string NAME
Name of this physics constructor.
bool enable_
Is the GENIE process enabled?
void ConstructParticle() override
No new particles to construct.
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...