CMS 3D CMS Logo

VisEventSetup.h

Go to the documentation of this file.
00001 #ifndef ANALYZER_VIS_EVENT_SETUP_H
00002 # define ANALYZER_VIS_EVENT_SETUP_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "FWCore/Framework/interface/EDAnalyzer.h"
00007 # include "FWCore/Framework/interface/ESHandle.h"
00008 # include "FWCore/Framework/interface/ESWatcher.h"
00009 # include "DataFormats/DetId/interface/DetId.h"
00010 # include "DataFormats/HcalDetId/interface/HcalSubdetector.h"
00011 # include <string>
00012 
00013 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00014 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00015 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00016 
00017 class GeomDet;
00018 class SbVec3f;
00019 class GlobalTrackingGeometry;
00020 class TrackerGeometry;
00021 class CaloGeometry;
00022 class CSCGeometry;
00023 class DTGeometry;
00024 class RPCGeometry;
00025 class MagneticField;
00026 class IgDataStorage;
00027 class IgCollectionItem;
00028 class GlobalTrackingGeometryRecord;
00029 class TrackerDigiGeometryRecord;
00030 class CaloGeometryRecord;
00031 class MuonGeometryRecord;
00032 class IdealMagneticFieldRecord;
00033 
00034 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00035 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00036 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00037 
00038 class VisEventSetup : public edm::EDAnalyzer
00039 {
00040 public:
00041     explicit VisEventSetup (const edm::ParameterSet&);
00042     // implicit copy constructor
00043     // implicit assignment operator
00044     // implicit destructor
00045     virtual ~VisEventSetup() {}
00046        
00047     virtual void analyze( const edm::Event&, const edm::EventSetup& );
00048 
00049 private:
00050     void        buildTracker (IgDataStorage *);
00051     void        buildDriftTubes (IgDataStorage *);
00052     void        buildCalo (IgDataStorage *);
00053     void        buildCSC (IgDataStorage *);
00054     void        buildRPC (IgDataStorage *);
00055     void        buildMagneticField (IgDataStorage *);
00056     void        build (IgDataStorage *, std::string, DetId::Detector, int);
00057     void        addCorners (IgCollectionItem&, const GeomDet *);
00058 
00059     const std::string subDetName (HcalSubdetector key);
00060     const std::string otherSubDetName (HcalOtherSubdetector key);
00061 
00062     bool        globalTrackingGeomCanged_;
00063     bool        trackerGeomCanged_;
00064     bool        caloGeomCanged_;
00065     bool        muonGeomCanged_;
00066     bool        fieldGeomCanged_;
00067 
00068     edm::ESHandle<GlobalTrackingGeometry> globalTrackingGeom_;
00069     edm::ESHandle<TrackerGeometry>        trackerGeom_;
00070     edm::ESHandle<CaloGeometry>           caloGeom_;
00071     edm::ESHandle<CSCGeometry>            cscGeom_;
00072     edm::ESHandle<DTGeometry>             dtGeom_;
00073     edm::ESHandle<RPCGeometry>            rpcGeom_;
00074     edm::ESHandle<MagneticField>          field_;    
00075 
00076     edm::ESWatcher<GlobalTrackingGeometryRecord> watch_globalTrackingGeom_;
00077     edm::ESWatcher<TrackerDigiGeometryRecord>   watch_trackerGeom_;
00078     edm::ESWatcher<CaloGeometryRecord>          watch_caloGeom_;
00079     edm::ESWatcher<MuonGeometryRecord>          watch_muonGeom_;
00080     edm::ESWatcher<IdealMagneticFieldRecord>    watch_field_;
00081 };
00082 
00083 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00084 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00085 
00086 #endif // ANALYZER_VIS_EVENT_SETUP_H

Generated on Tue Jun 9 17:50:07 2009 for CMSSW by  doxygen 1.5.4