File indexing completed on 2024-04-06 12:30:24
0001 #ifndef SimG4Core_GFlash_ParametrisedPhysics_H
0002 #define SimG4Core_GFlash_ParametrisedPhysics_H
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "G4FastSimulationManagerProcess.hh"
0006 #include "G4VPhysicsConstructor.hh"
0007 #include "SimG4Core/GFlash/interface/GflashEMShowerModel.h"
0008 #include "SimG4Core/GFlash/interface/GflashHadronShowerModel.h"
0009
0010
0011
0012
0013
0014 class ParametrisedPhysics : public G4VPhysicsConstructor {
0015 public:
0016 ParametrisedPhysics(std::string name, const edm::ParameterSet &p);
0017 ~ParametrisedPhysics() override;
0018
0019 protected:
0020 void ConstructParticle() override;
0021 void ConstructProcess() override;
0022
0023 private:
0024 edm::ParameterSet theParSet;
0025 struct ThreadPrivate {
0026 GflashEMShowerModel *theEMShowerModel;
0027 GflashEMShowerModel *theHadShowerModel;
0028 GflashHadronShowerModel *theHadronShowerModel;
0029 G4FastSimulationManagerProcess *theFastSimulationManagerProcess;
0030 };
0031 static G4ThreadLocal ThreadPrivate *tpdata;
0032 };
0033
0034 #endif