Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:30:27

0001 #ifndef SimG4Core_PhysicsLists_CMSMonopolePhysics_h
0002 #define SimG4Core_PhysicsLists_CMSMonopolePhysics_h
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "SimG4Core/Physics/interface/Monopole.h"
0006 
0007 #include "HepPDT/ParticleDataTable.hh"
0008 #include "G4VPhysicsConstructor.hh"
0009 #include "globals.hh"
0010 
0011 #include <vector>
0012 #include <string>
0013 
0014 namespace sim {
0015   class ChordFinderSetter;
0016 }
0017 
0018 class CMSMonopolePhysics : public G4VPhysicsConstructor {
0019 public:
0020   CMSMonopolePhysics(const HepPDT::ParticleDataTable* table_, const edm::ParameterSet& p);
0021   ~CMSMonopolePhysics() override;
0022 
0023   void ConstructParticle() override;
0024   void ConstructProcess() override;
0025 
0026 private:
0027   G4int verbose, magCharge;
0028   G4bool deltaRay, multiSc, transport;
0029   std::vector<std::string> names;
0030   std::vector<double> masses;
0031   std::vector<int> elCharges, pdgEncodings;
0032   std::vector<Monopole*> monopoles;
0033 };
0034 
0035 #endif