Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef Physics_PhysicsListMakerBase_h
0002 #define Physics_PhysicsListMakerBase_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Physics
0006 // Class  :     PhysicsListMakerBase
0007 //
0008 /**\class PhysicsListMakerBase PhysicsListMakerBase.h SimG4Core/Physics/interface/PhysicsListMakerBase.h
0009 
0010  Description: Base class for the 'maker' which creates PhysicsLists
0011 
0012  Usage:
0013     This class is the interface for creating a physics list and for connnecting
0014  the appropriate OSCAR signals to that physics list
0015 
0016 */
0017 //
0018 // Original Author:  Chris D Jones
0019 //         Created:  Tue Nov 22 13:03:39 EST 2005
0020 //
0021 
0022 // system include files
0023 #include <memory>
0024 
0025 // user include files
0026 #include "SimG4Core/Physics/interface/PhysicsList.h"
0027 
0028 // forward declarations
0029 class SimActivityRegistry;
0030 namespace edm {
0031   class ParameterSet;
0032 }
0033 
0034 class PhysicsListMakerBase {
0035 public:
0036   PhysicsListMakerBase() {}
0037   virtual ~PhysicsListMakerBase() {}
0038 
0039   virtual std::unique_ptr<PhysicsList> make(const edm::ParameterSet&, SimActivityRegistry&) const = 0;
0040 
0041   PhysicsListMakerBase(const PhysicsListMakerBase&) = delete;
0042   const PhysicsListMakerBase& operator=(const PhysicsListMakerBase&) = delete;
0043 };
0044 
0045 #endif