File indexing completed on 2023-03-17 11:25:05
0001 #ifndef SimG4Core_SensitiveDetector_SensitiveDetectorMakerBase_h
0002 #define SimG4Core_SensitiveDetector_SensitiveDetectorMakerBase_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include "SimG4Core/SensitiveDetector/interface/SensitiveDetector.h"
0013
0014
0015 #include <string>
0016 #include <memory>
0017
0018
0019 class SimActivityRegistry;
0020 class SimTrackManager;
0021 class SensitiveDetectorCatalog;
0022
0023 namespace edm {
0024 class EventSetup;
0025 class ParameterSet;
0026 }
0027
0028 class SensitiveDetectorMakerBase {
0029 public:
0030 explicit SensitiveDetectorMakerBase() = default;
0031 virtual ~SensitiveDetectorMakerBase();
0032 SensitiveDetectorMakerBase(const SensitiveDetectorMakerBase&) = delete;
0033 const SensitiveDetectorMakerBase& operator=(const SensitiveDetectorMakerBase&) = delete;
0034
0035 virtual void beginRun(edm::EventSetup const&);
0036
0037
0038
0039 virtual std::unique_ptr<SensitiveDetector> make(const std::string& iname,
0040 const edm::EventSetup& es,
0041 const SensitiveDetectorCatalog& clg,
0042 const edm::ParameterSet& p,
0043 const SimTrackManager* man,
0044 SimActivityRegistry& reg) const;
0045
0046 virtual std::unique_ptr<SensitiveDetector> make(const std::string& iname,
0047 const SensitiveDetectorCatalog& clg,
0048 const edm::ParameterSet& p,
0049 const SimTrackManager* man,
0050 SimActivityRegistry& reg) const;
0051 };
0052
0053 #endif