00001 #ifndef Geometry_TrackerGeometryBuilder_TrackerDigiGeometryESModule_H 00002 #define Geometry_TrackerGeometryBuilder_TrackerDigiGeometryESModule_H 00003 00004 #include "FWCore/Framework/interface/ESProducer.h" 00005 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00006 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" 00007 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" 00008 #include <boost/shared_ptr.hpp> 00009 00010 #include <string> 00011 00012 namespace edm { 00013 class ConfigurationDescriptions; 00014 } 00015 00016 class TrackerDigiGeometryESModule: public edm::ESProducer{ 00017 public: 00018 TrackerDigiGeometryESModule(const edm::ParameterSet & p); 00019 virtual ~TrackerDigiGeometryESModule(); 00020 boost::shared_ptr<TrackerGeometry> produce(const TrackerDigiGeometryRecord &); 00021 00022 static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); 00023 00024 private: 00026 boost::shared_ptr<TrackerGeometry> _tracker; 00027 const std::string alignmentsLabel_; 00028 const std::string myLabel_; 00029 const edm::ParameterSet m_pSet; 00030 bool applyAlignment_; // Switch to apply alignment corrections 00031 bool fromDDD_; 00032 }; 00033 00034 00035 #endif 00036 00037 00038 00039