CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/Geometry/HcalTowerAlgo/plugins/HcalTrigTowerGeometryESProducer.h

Go to the documentation of this file.
00001 #ifndef HCAL_TOWER_ALGO_HCAL_TRIG_TOWER_GEOMETRY_ES_PRODUCER_H
00002 # define HCAL_TOWER_ALGO_HCAL_TRIG_TOWER_GEOMETRY_ES_PRODUCER_H
00003 
00004 # include "boost/shared_ptr.hpp"
00005 
00006 # include "FWCore/Framework/interface/ESProducer.h"
00007 # include "Geometry/Records/interface/CaloGeometryRecord.h"
00008 # include "Geometry/HcalTowerAlgo/interface/HcalTrigTowerGeometry.h"
00009 
00010 namespace edm {
00011   class ConfigurationDescriptions;
00012 }
00013 
00014 class HcalTrigTowerGeometryESProducer : public edm::ESProducer
00015 {
00016 public:
00017   HcalTrigTowerGeometryESProducer( const edm::ParameterSet & conf );
00018   virtual ~HcalTrigTowerGeometryESProducer( void );
00019 
00020   boost::shared_ptr<HcalTrigTowerGeometry> produce( const CaloGeometryRecord & );
00021 
00022   static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
00023 
00024 private:
00025   bool useFullGranularityHF_;
00026   boost::shared_ptr<HcalTrigTowerGeometry> m_hcalTrigTowerGeom;
00027 };
00028 
00029 #endif // HCAL_TOWER_ALGO_HCAL_TRIG_TOWER_GEOMETRY_ES_PRODUCER_H