Back to home page

Project CMSSW displayed by LXR

 
 

    


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 // Joanna Weng 08.2005
0011 // Physics process for Gflash parameterisation
0012 // modified by Soon Yung Jun, Dongwook Jang
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