CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 "boost/shared_ptr.hpp"
5 
9 
10 namespace edm
11 {
12  class ParameterSet;
13 }
14 
15 class CaloGeometry;
17 class TrackerGeometry;
18 class FWTGeoRecoGeometry;
20 
21 class TGeoManager;
22 class TGeoShape;
23 class TGeoVolume;
24 class TGeoMaterial;
25 class TGeoMedium;
26 class GeomDet;
27 
29 {
30 public:
32  virtual ~FWTGeoRecoGeometryESProducer( void );
33 
34  boost::shared_ptr<FWTGeoRecoGeometry> produce( const FWTGeoRecoGeometryRecord& );
35 
36 private:
39 
40  TGeoManager* createManager( int level );
41  TGeoShape* createShape( const GeomDet *det );
42  TGeoVolume* createVolume( const std::string& name, const GeomDet *det, const std::string& matname = "Air" );
43  TGeoMaterial* createMaterial( const std::string& name );
44  const std::string path( TGeoVolume* top, const std::string& name, int copy );
45 
46  void addCSCGeometry( TGeoVolume* top, const std::string& name = "CSC", int copy = 1 );
47  void addDTGeometry( TGeoVolume* top, const std::string& name = "DT", int copy = 1 );
48  void addRPCGeometry( TGeoVolume* top, const std::string& name = "RPC", int copy = 1 );
49  void addPixelBarrelGeometry( TGeoVolume* top, const std::string& name = "PixelBarrel", int copy = 1 );
50  void addPixelForwardGeometry( TGeoVolume* top, const std::string& name = "PixelForward", int copy = 1 );
51  void addTIBGeometry( TGeoVolume* top, const std::string& name = "TIB", int copy = 1 );
52  void addTOBGeometry( TGeoVolume* top, const std::string& name = "TOB", int copy = 1 );
53  void addTIDGeometry( TGeoVolume* top, const std::string& name = "TID", int copy = 1 );
54  void addTECGeometry( TGeoVolume* top, const std::string& name = "TEC", int copy = 1 );
55  void addCaloGeometry( void );
56 
57  std::map<std::string, TGeoShape*> m_nameToShape;
58  std::map<std::string, TGeoVolume*> m_nameToVolume;
59  std::map<std::string, TGeoMaterial*> m_nameToMaterial;
60  std::map<std::string, TGeoMedium*> m_nameToMedium;
61 
65 
66  boost::shared_ptr<FWTGeoRecoGeometry> m_fwGeometry;
67 };
68 
69 #endif // GEOMETRY_FWTGEORECO_GEOMETRY_ES_PRODUCER_H
edm::ESHandle< CaloGeometry > m_caloGeom
edm::ESHandle< GlobalTrackingGeometry > m_geomRecord
TGeoShape * createShape(const GeomDet *det)
std::map< std::string, TGeoMedium * > m_nameToMedium
void addTOBGeometry(TGeoVolume *top, const std::string &name="TOB", int copy=1)
TGeoVolume * createVolume(const std::string &name, const GeomDet *det, const std::string &matname="Air")
void addDTGeometry(TGeoVolume *top, const std::string &name="DT", int copy=1)
void addTIDGeometry(TGeoVolume *top, const std::string &name="TID", int copy=1)
TGeoManager * createManager(int level)
void addRPCGeometry(TGeoVolume *top, const std::string &name="RPC", int copy=1)
void addCSCGeometry(TGeoVolume *top, const std::string &name="CSC", int copy=1)
std::map< std::string, TGeoShape * > m_nameToShape
void addPixelBarrelGeometry(TGeoVolume *top, const std::string &name="PixelBarrel", int copy=1)
void addTIBGeometry(TGeoVolume *top, const std::string &name="TIB", int copy=1)
std::map< std::string, TGeoVolume * > m_nameToVolume
boost::shared_ptr< FWTGeoRecoGeometry > produce(const FWTGeoRecoGeometryRecord &)
boost::shared_ptr< FWTGeoRecoGeometry > m_fwGeometry
void addPixelForwardGeometry(TGeoVolume *top, const std::string &name="PixelForward", int copy=1)
FWTGeoRecoGeometryESProducer(const edm::ParameterSet &)
tuple level
Definition: testEve_cfg.py:34
void addTECGeometry(TGeoVolume *top, const std::string &name="TEC", int copy=1)
const FWTGeoRecoGeometryESProducer & operator=(const FWTGeoRecoGeometryESProducer &)
TGeoMaterial * createMaterial(const std::string &name)
std::map< std::string, TGeoMaterial * > m_nameToMaterial
const std::string path(TGeoVolume *top, const std::string &name, int copy)