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 DDCompactView;
22 class SimTrackManager;
25 
26 namespace edm{
27  class ParameterSet;
28 }
29 
30 template<class T>
32 {
33 public:
34  explicit SensitiveDetectorMaker() {};
35 
36  // ---------- const member functions ---------------------
38  const DDCompactView& cpv,
39  const SensitiveDetectorCatalog& clg,
40  const edm::ParameterSet& p,
41  const SimTrackManager* man,
42  SimActivityRegistry& reg) const override
43  {
44  T* sd = new T(iname, cpv, clg, p, man);
46  return static_cast<SensitiveDetector*>(sd);
47  };
48 
49 private:
51  const SensitiveDetectorMaker& operator=(const SensitiveDetectorMaker&) = delete;
52 };
53 
54 #endif
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
static void enroll(SimActivityRegistry &iReg, T *iObj)
double sd
SensitiveDetector * make(const std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, const edm::ParameterSet &p, const SimTrackManager *man, SimActivityRegistry &reg) const override
HLT enums.
long double T