Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef SimG4Core_SensitiveDetector_SensitiveDetectorMakerBase_h
0002 #define SimG4Core_SensitiveDetector_SensitiveDetectorMakerBase_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     SensitiveDetector
0006 // Class  :     SensitiveDetectorMakerBase
0007 //
0008 // Original Author:
0009 //         Created:  Mon Nov 14 11:50:24 EST 2005
0010 //
0011 
0012 #include "SimG4Core/SensitiveDetector/interface/SensitiveDetector.h"
0013 
0014 // system include files
0015 #include <string>
0016 #include <memory>
0017 
0018 // forward declarations
0019 class SimActivityRegistry;
0020 class SimTrackManager;
0021 class SensitiveDetectorCatalog;
0022 
0023 namespace edm {
0024   class EventSetup;
0025   class ParameterSet;
0026 }  // namespace edm
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   // ---------- const member functions ---------------------
0038   //deprecated API
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