CMS 3D CMS Logo

SensitiveDetectorMakerBase.h
Go to the documentation of this file.
1 #ifndef SensitiveDetector_SensitiveDetectorMakerBase_h
2 #define SensitiveDetector_SensitiveDetectorMakerBase_h
3 // -*- C++ -*-
4 //
5 // Package: SensitiveDetector
6 // Class : SensitiveDetectorMakerBase
7 //
16 //
17 // Original Author:
18 // Created: Mon Nov 14 11:50:24 EST 2005
19 //
20 
21 // system include files
22 #include <string>
23 
24 // user include files
27 // forward declarations
29 class DDCompactView;
30 class SimTrackManager;
31 
32 namespace edm{
33  class ParameterSet;
34 }
35 
37 {
38 
39  public:
42 
43  // ---------- const member functions ---------------------
44  virtual void make(const std::string& iname,
45  const DDCompactView& cpv,
46  const SensitiveDetectorCatalog& clg,
47  const edm::ParameterSet& p,
48  const SimTrackManager* m,
50  std::auto_ptr<SensitiveTkDetector>& oTK,
51  std::auto_ptr<SensitiveCaloDetector>& oCalo) const =0;
52 
53  // ---------- static member functions --------------------
54 
55  // ---------- member functions ---------------------------
56 
57  protected:
58  //used to identify which type of Sensitive Detector we have
60  std::auto_ptr<SensitiveTkDetector>& oTo,
61  std::auto_ptr<SensitiveCaloDetector>&) const{
62  oTo= std::auto_ptr<SensitiveTkDetector>(iFrom);
63  }
65  std::auto_ptr<SensitiveTkDetector>&,
66  std::auto_ptr<SensitiveCaloDetector>& oTo) const{
67  oTo=std::auto_ptr<SensitiveCaloDetector>(iFrom);
68  }
69 
70  private:
71  SensitiveDetectorMakerBase(const SensitiveDetectorMakerBase&) = delete; // stop default
72 
73  const SensitiveDetectorMakerBase& operator=(const SensitiveDetectorMakerBase&) = delete; // stop default
74 
75  // ---------- member data --------------------------------
76 
77 };
78 
79 
80 #endif
void convertTo(SensitiveCaloDetector *iFrom, std::auto_ptr< SensitiveTkDetector > &, std::auto_ptr< SensitiveCaloDetector > &oTo) const
void convertTo(SensitiveTkDetector *iFrom, std::auto_ptr< SensitiveTkDetector > &oTo, std::auto_ptr< SensitiveCaloDetector > &) const
S make(const edm::ParameterSet &cfg)
type of data representation of DDCompactView
Definition: DDCompactView.h:90
HLT enums.