00001 #ifndef L1TriggerConfig_RPCConeBuilder_RPCConeBuilder_h 00002 #define L1TriggerConfig_RPCConeBuilder_RPCConeBuilder_h 00003 // -*- C++ -*- 00004 // 00005 // Package: RPCConeBuilder 00006 // Class : RPCConeBuilder 00007 // 00016 // 00017 // Original Author: 00018 // Created: Mon Feb 25 12:06:44 CET 2008 00019 // $Id: RPCConeBuilder.h,v 1.1 2008/03/03 14:30:09 fruboes Exp $ 00020 // 00021 #include <memory> 00022 #include "boost/shared_ptr.hpp" 00023 #include "FWCore/Framework/interface/ESProducer.h" 00024 #include "FWCore/Framework/interface/ESHandle.h" 00025 #include "Geometry/RPCGeometry/interface/RPCGeometry.h" 00026 #include "CondFormats/RPCObjects/interface/L1RPCConeBuilder.h" 00027 #include "CondFormats/DataRecord/interface/L1RPCConeBuilderRcd.h" 00028 00029 00030 00031 #include <map> 00032 //#include "L1TriggerConfig/RPCConeBuilder/interface/RPCStripsRing.h" 00033 #include "L1TriggerConfig/RPCTriggerConfig/interface/RPCStripsRing.h" 00034 00035 00036 class RPCConeBuilder : public edm::ESProducer { 00037 public: 00038 00039 RPCConeBuilder(const edm::ParameterSet&); 00040 ~RPCConeBuilder() {}; 00041 00042 typedef boost::shared_ptr<L1RPCConeBuilder> ReturnType; 00043 00044 00045 ReturnType produce(const L1RPCConeBuilderRcd&); 00046 //ReturnType produce(const L1RPCConfigRcd&); 00047 00048 void geometryCallback( const MuonGeometryRecord &); 00049 00050 private: 00051 00052 void buildCones(const edm::ESHandle<RPCGeometry> & rpcGeom); 00053 void buildConnections(); 00054 std::pair<int, int> areConnected(RPCStripsRing::TIdToRindMap::iterator ref, 00055 RPCStripsRing::TIdToRindMap::iterator other); 00056 00057 00058 // ----------member data --------------------------- 00059 int m_towerBeg; 00060 int m_towerEnd; 00061 int m_rollBeg; 00062 int m_rollEnd; 00063 int m_hwPlaneBeg; 00064 int m_hwPlaneEnd; 00065 00066 L1RPCConeBuilder::TLPSizesInTowers m_LPSizesInTowers; 00067 L1RPCConeBuilder::TRingsToTowers m_RingsToTowers; 00068 L1RPCConeBuilder::TRingsToLP m_RingsToLP; 00069 00070 RPCStripsRing::TIdToRindMap m_ringsMap; 00071 00072 }; 00073 00074 00075 00076 #endif