CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SensitiveDetectorMaker.h
Go to the documentation of this file.
1 #ifndef SimG4Core_SensitiveDetector_SensitiveDetectorMaker_h
2 #define SimG4Core_SensitiveDetector_SensitiveDetectorMaker_h
3 // -*- C++ -*-
4 //
5 // Package: SensitiveDetector
6 // Class : SensitiveDetectorMaker
7 //
8 //
9 // Original Author:
10 // Created: Mon Nov 14 11:56:05 EST 2005
11 //
12 
13 // user include files
17 
20 
21 // forward declarations
22 class SimTrackManager;
25 
26 namespace edm {
27  class EventSetup;
28  class ParameterSet;
29 } // namespace edm
30 
31 template <class T>
33 public:
37 
38  // ---------- const member functions ---------------------
39  std::unique_ptr<SensitiveDetector> make(const std::string& iname,
40  const edm::EventSetup& es,
41  const SensitiveDetectorCatalog& clg,
42  const edm::ParameterSet& p,
43  const SimTrackManager* man,
44  SimActivityRegistry& reg) const override {
45  auto sd = std::make_unique<T>(iname, es, clg, p, man);
47  return sd;
48  };
49 };
50 
51 #endif
const SensitiveDetectorMaker & operator=(const SensitiveDetectorMaker &)=delete
std::unique_ptr< SensitiveDetector > make(const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, const edm::ParameterSet &p, const SimTrackManager *man, SimActivityRegistry &reg) const override
static void enroll(SimActivityRegistry &iReg, T *iObj)
SensitiveDetectorMaker(edm::ParameterSet const &, edm::ConsumesCollector)
double sd