CMS 3D CMS Logo

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 
19 
20 // forward declarations
21 class SimTrackManager;
24 
25 namespace edm {
26  class EventSetup;
27  class ParameterSet;
28 } // namespace edm
29 
30 template <class T>
32 public:
33  explicit SensitiveDetectorMaker(){};
34 
35  // ---------- const member functions ---------------------
37  const edm::EventSetup& es,
38  const SensitiveDetectorCatalog& clg,
39  const edm::ParameterSet& p,
40  const SimTrackManager* man,
41  SimActivityRegistry& reg) const override {
42  T* sd = new T(iname, es, clg, p, man);
44  return static_cast<SensitiveDetector*>(sd);
45  };
46 
47 private:
49  const SensitiveDetectorMaker& operator=(const SensitiveDetectorMaker&) = delete;
50 };
51 
52 #endif
static void enroll(SimActivityRegistry &iReg, T *iObj)
double sd
HLT enums.
SensitiveDetector * make(const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, const edm::ParameterSet &p, const SimTrackManager *man, SimActivityRegistry &reg) const override
long double T