CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/Geometry/HcalEventSetup/interface/HcalDDDGeometryEP.h

Go to the documentation of this file.
00001 #ifndef Geometry_HcalEventSetup_HcalDDDGeometryEP_H
00002 #define Geometry_HcalEventSetup_HcalDDDGeometryEP_H 1
00003 
00004 
00005 // system include files
00006 #include <memory>
00007 #include "boost/shared_ptr.hpp"
00008 
00009 // user include files
00010 #include "FWCore/Framework/interface/ModuleFactory.h"
00011 #include "FWCore/Framework/interface/ESProducer.h"
00012 
00013 #include "FWCore/Framework/interface/ESTransientHandle.h"
00014 
00015 #include "Geometry/Records/interface/HcalGeometryRecord.h"
00016 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
00017 #include "Geometry/HcalTowerAlgo/interface/HcalDDDGeometryLoader.h"
00018 
00019 //
00020 // class decleration
00021 //
00022 
00023 class HcalDDDGeometryEP : public edm::ESProducer 
00024 {
00025    public:
00026 
00027       HcalDDDGeometryEP(const edm::ParameterSet&);
00028       ~HcalDDDGeometryEP();
00029 
00030       typedef boost::shared_ptr<CaloSubdetectorGeometry> ReturnType;
00031   
00032       void idealRecordCallBack(const IdealGeometryRecord&);
00033 
00034       ReturnType produceIdeal(const IdealGeometryRecord&);
00035       ReturnType produceAligned(const HcalGeometryRecord&);
00036 
00037 private:
00038 
00039   // ----------member data ---------------------------
00040 
00041       HcalDDDGeometryLoader* m_loader ;
00042 
00043       const DDCompactView* m_cpv ;
00044 
00045       bool m_applyAlignment ;
00046 };
00047 
00048 #endif