File indexing completed on 2025-07-09 05:00:33
0001 #ifndef SimG4Core_CustomPhysics_CustomPhysicsList_H
0002 #define SimG4Core_CustomPhysics_CustomPhysicsList_H
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "G4VPhysicsConstructor.hh"
0006
0007 #include <string>
0008
0009 class CustomProcessHelper;
0010 class CustomParticleFactory;
0011
0012 class CustomPhysicsList : public G4VPhysicsConstructor {
0013 public:
0014 CustomPhysicsList(const std::string& name, const edm::ParameterSet& p, bool useuni = false);
0015 ~CustomPhysicsList() override = default;
0016
0017 void ConstructParticle() override;
0018 void ConstructProcess() override;
0019
0020 private:
0021 static G4ThreadLocal CustomProcessHelper* myHelper;
0022 std::unique_ptr<CustomParticleFactory> fParticleFactory;
0023
0024 bool fHadronicInteraction;
0025
0026 edm::ParameterSet myConfig;
0027
0028 std::string particleDefFilePath;
0029 std::string processDefFilePath;
0030 double dfactor;
0031 };
0032
0033 #endif