CMS 3D CMS Logo

FWTGeoRecoGeometryESProducer.h
Go to the documentation of this file.
1 #ifndef GEOMETRY_FWTGEORECO_GEOMETRY_ES_PRODUCER_H
2 #define GEOMETRY_FWTGEORECO_GEOMETRY_ES_PRODUCER_H
3 
4 #include <memory>
5 
9 
10 namespace edm {
11  class ParameterSet;
12 }
13 
14 class CaloGeometry;
15 class CaloGeometryRecord;
18 class TrackerGeometry;
19 class TrackerTopology;
20 class TrackerTopologyRcd;
21 class FWTGeoRecoGeometry;
23 
24 class TGeoManager;
25 class TGeoShape;
26 class TGeoVolume;
27 class TGeoMaterial;
28 class TGeoMedium;
29 class GeomDet;
30 class CaloCellGeometry;
32  enum ERecoDet {
46  };
47 
48 public:
50  ~FWTGeoRecoGeometryESProducer(void) override;
51 
52  std::unique_ptr<FWTGeoRecoGeometry> produce(const FWTGeoRecoGeometryRecord&);
53 
54 private:
57 
58  TGeoManager* createManager(int level);
59  TGeoShape* createShape(const GeomDet* det);
60  TGeoVolume* createVolume(const std::string& name, const GeomDet* det, ERecoDet = kDummy);
61  // TGeoMaterial* createMaterial( const std::string& name );
62 
63  TGeoVolume* GetDaughter(TGeoVolume* mother, const char* prefix, ERecoDet cidx, int id);
64  TGeoVolume* GetDaughter(TGeoVolume* mother, const char* prefix, ERecoDet cidx);
65  TGeoVolume* GetTopHolder(const char* prefix, ERecoDet cidx);
66 
67  TGeoMedium* GetMedium(ERecoDet);
68 
71  void addTIBGeometry();
72  void addTOBGeometry();
73  void addTIDGeometry();
74  void addTECGeometry();
75  void addCSCGeometry();
76  void addDTGeometry();
77  void addRPCGeometry();
78  void addGEMGeometry();
79  void addME0Geometry();
80  void addEcalCaloGeometry();
85  void addCaloTowerGeometry();
86 
87  std::map<std::string, TGeoShape*> m_nameToShape;
88  std::map<TGeoShape*, TGeoVolume*> m_shapeToVolume;
89  std::map<ERecoDet, TGeoMedium*> m_recoMedium;
90 
94 
96  const CaloGeometry* m_caloGeom = nullptr;
97  const TrackerGeometry* m_trackerGeom = nullptr;
99 
100  TGeoMedium* m_dummyMedium = nullptr;
101 
102  bool m_tracker;
103  bool m_muon;
104  bool m_calo;
105 };
106 
107 #endif // GEOMETRY_FWTGEORECO_GEOMETRY_ES_PRODUCER_H
personalPlayback.level
level
Definition: personalPlayback.py:22
FWTGeoRecoGeometryESProducer::addEcalCaloGeometry
void addEcalCaloGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:1194
FWTGeoRecoGeometryESProducer::m_recoMedium
std::map< ERecoDet, TGeoMedium * > m_recoMedium
Definition: FWTGeoRecoGeometryESProducer.h:89
FWTGeoRecoGeometryESProducer::kMuonRPC
Definition: FWTGeoRecoGeometryESProducer.h:37
FWTGeoRecoGeometryESProducer::kMuonME0
Definition: FWTGeoRecoGeometryESProducer.h:40
FWTGeoRecoGeometryESProducer::addHcalCaloGeometryBarrel
void addHcalCaloGeometryBarrel()
Definition: FWTGeoRecoGeometryESProducer.cc:785
GeomDet
Definition: GeomDet.h:27
FWTGeoRecoGeometryESProducer::addCSCGeometry
void addCSCGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:628
FWTGeoRecoGeometryESProducer::kECal
Definition: FWTGeoRecoGeometryESProducer.h:41
FWTGeoRecoGeometryESProducer::m_trackerTopologyToken
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > m_trackerTopologyToken
Definition: FWTGeoRecoGeometryESProducer.h:92
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
FWTGeoRecoGeometryESProducer::m_tracker
bool m_tracker
Definition: FWTGeoRecoGeometryESProducer.h:102
edm
HLT enums.
Definition: AlignableModifier.h:19
TrackerTopology
Definition: TrackerTopology.h:16
FWTGeoRecoGeometryESProducer::addTOBGeometry
void addTOBGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:508
FWTGeoRecoGeometryESProducer::GetDaughter
TGeoVolume * GetDaughter(TGeoVolume *mother, const char *prefix, ERecoDet cidx, int id)
Definition: FWTGeoRecoGeometryESProducer.cc:121
ESProducer.h
FWTGeoRecoGeometryESProducer::produce
std::unique_ptr< FWTGeoRecoGeometry > produce(const FWTGeoRecoGeometryRecord &)
Definition: FWTGeoRecoGeometryESProducer.cc:263
FWTGeoRecoGeometryESProducer::kMuonDT
Definition: FWTGeoRecoGeometryESProducer.h:36
GlobalTrackingGeometryRecord
Definition: GlobalTrackingGeometryRecord.h:17
FWTGeoRecoGeometry
Definition: FWTGeoRecoGeometry.h:13
FWTGeoRecoGeometryESProducer::addPixelForwardGeometry
void addPixelForwardGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:445
FWTGeoRecoGeometryESProducer
Definition: FWTGeoRecoGeometryESProducer.h:31
FWTGeoRecoGeometryESProducer::addME0Geometry
void addME0Geometry()
Definition: FWTGeoRecoGeometryESProducer.cc:751
ESGetToken.h
FWTGeoRecoGeometryESProducer::ERecoDet
ERecoDet
Definition: FWTGeoRecoGeometryESProducer.h:32
FWTGeoRecoGeometryESProducer::addHcalCaloGeometryForward
void addHcalCaloGeometryForward()
Definition: FWTGeoRecoGeometryESProducer.cc:1001
FWTGeoRecoGeometryRecord
Definition: FWTGeoRecoGeometryRecord.h:9
FWTGeoRecoGeometryESProducer::operator=
const FWTGeoRecoGeometryESProducer & operator=(const FWTGeoRecoGeometryESProducer &)
FWTGeoRecoGeometryESProducer::~FWTGeoRecoGeometryESProducer
~FWTGeoRecoGeometryESProducer(void) override
Definition: FWTGeoRecoGeometryESProducer.cc:80
CaloGeometry
Definition: CaloGeometry.h:21
FWTGeoRecoGeometryESProducer::FWTGeoRecoGeometryESProducer
FWTGeoRecoGeometryESProducer(const edm::ParameterSet &)
Definition: FWTGeoRecoGeometryESProducer.cc:63
GlobalTrackingGeometry
Definition: GlobalTrackingGeometry.h:20
FWTGeoRecoGeometryESProducer::kSiStrip
Definition: FWTGeoRecoGeometryESProducer.h:35
FWTGeoRecoGeometryESProducer::addHcalCaloGeometryEndcap
void addHcalCaloGeometryEndcap()
Definition: FWTGeoRecoGeometryESProducer.cc:861
FWTGeoRecoGeometryESProducer::addPixelBarrelGeometry
void addPixelBarrelGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:425
FWTGeoRecoGeometryESProducer::m_caloGeomToken
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > m_caloGeomToken
Definition: FWTGeoRecoGeometryESProducer.h:93
FWTGeoRecoGeometryESProducer::GetTopHolder
TGeoVolume * GetTopHolder(const char *prefix, ERecoDet cidx)
Definition: FWTGeoRecoGeometryESProducer.cc:156
FWTGeoRecoGeometryESProducer::m_dummyMedium
TGeoMedium * m_dummyMedium
Definition: FWTGeoRecoGeometryESProducer.h:100
FWTGeoRecoGeometryESProducer::m_muon
bool m_muon
Definition: FWTGeoRecoGeometryESProducer.h:103
FWTGeoRecoGeometryESProducer::addDTGeometry
void addDTGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:554
FWTGeoRecoGeometryESProducer::m_trackerGeom
const TrackerGeometry * m_trackerGeom
Definition: FWTGeoRecoGeometryESProducer.h:97
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
FWTGeoRecoGeometryESProducer::m_caloGeom
const CaloGeometry * m_caloGeom
Definition: FWTGeoRecoGeometryESProducer.h:96
FWTGeoRecoGeometryESProducer::createVolume
TGeoVolume * createVolume(const std::string &name, const GeomDet *det, ERecoDet=kDummy)
Definition: FWTGeoRecoGeometryESProducer.cc:402
edm::ParameterSet
Definition: ParameterSet.h:36
ParameterSet
Definition: Functions.h:16
CaloCellGeometry
Definition: CaloCellGeometry.h:50
FWTGeoRecoGeometryESProducer::kCaloTower
Definition: FWTGeoRecoGeometryESProducer.h:43
FWTGeoRecoGeometryESProducer::m_trackingGeom
const GlobalTrackingGeometry * m_trackingGeom
Definition: FWTGeoRecoGeometryESProducer.h:95
FWTGeoRecoGeometryESProducer::createShape
TGeoShape * createShape(const GeomDet *det)
Definition: FWTGeoRecoGeometryESProducer.cc:339
edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord >
FWTGeoRecoGeometryESProducer::m_calo
bool m_calo
Definition: FWTGeoRecoGeometryESProducer.h:104
FWTGeoRecoGeometryESProducer::kMuonGEM
Definition: FWTGeoRecoGeometryESProducer.h:39
FWTGeoRecoGeometryESProducer::addTECGeometry
void addTECGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:528
FWTGeoRecoGeometryESProducer::m_shapeToVolume
std::map< TGeoShape *, TGeoVolume * > m_shapeToVolume
Definition: FWTGeoRecoGeometryESProducer.h:88
FWTGeoRecoGeometryESProducer::kHCal
Definition: FWTGeoRecoGeometryESProducer.h:42
FWTGeoRecoGeometryESProducer::addCaloTowerGeometry
void addCaloTowerGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:1067
FWTGeoRecoGeometryESProducer::kDummy
Definition: FWTGeoRecoGeometryESProducer.h:33
FWTGeoRecoGeometryESProducer::addTIBGeometry
void addTIBGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:468
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
FWTGeoRecoGeometryESProducer::createManager
TGeoManager * createManager(int level)
FWTGeoRecoGeometryESProducer::GetMedium
TGeoMedium * GetMedium(ERecoDet)
Definition: FWTGeoRecoGeometryESProducer.cc:181
edm::ESProducer
Definition: ESProducer.h:101
FWTGeoRecoGeometryESProducer::kHGCE
Definition: FWTGeoRecoGeometryESProducer.h:44
FWTGeoRecoGeometryESProducer::m_trackingGeomToken
edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > m_trackingGeomToken
Definition: FWTGeoRecoGeometryESProducer.h:91
FWTGeoRecoGeometryESProducer::m_trackerTopology
const TrackerTopology * m_trackerTopology
Definition: FWTGeoRecoGeometryESProducer.h:98
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
FWTGeoRecoGeometryESProducer::addRPCGeometry
void addRPCGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:723
FWTGeoRecoGeometryESProducer::kHGCH
Definition: FWTGeoRecoGeometryESProducer.h:45
FWTGeoRecoGeometryESProducer::m_nameToShape
std::map< std::string, TGeoShape * > m_nameToShape
Definition: FWTGeoRecoGeometryESProducer.h:87
FWTGeoRecoGeometryESProducer::kSiPixel
Definition: FWTGeoRecoGeometryESProducer.h:34
GlobalPoint.h
FWTGeoRecoGeometryESProducer::addTIDGeometry
void addTIDGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:488
FWTGeoRecoGeometryESProducer::addGEMGeometry
void addGEMGeometry()
Definition: FWTGeoRecoGeometryESProducer.cc:664
FWTGeoRecoGeometryESProducer::kMuonCSC
Definition: FWTGeoRecoGeometryESProducer.h:38
ZMuMuAnalysisNtupler_cff.prefix
prefix
Definition: ZMuMuAnalysisNtupler_cff.py:14
TrackerGeometry
Definition: TrackerGeometry.h:14
FWTGeoRecoGeometryESProducer::addHcalCaloGeometryOuter
void addHcalCaloGeometryOuter()
Definition: FWTGeoRecoGeometryESProducer.cc:935