00001 //------------------------------------------------- 00002 // 00003 // Class: L1MuDTSecProcMap 00004 // 00005 // Description: Sector Processor container 00006 // 00007 // 00008 // $Date: 2007/02/27 11:44:00 $ 00009 // $Revision: 1.2 $ 00010 // 00011 // Author : 00012 // N. Neumeister CERN EP 00013 // 00014 //-------------------------------------------------- 00015 00016 //----------------------- 00017 // This Class's Header -- 00018 //----------------------- 00019 00020 #include "L1Trigger/DTTrackFinder/src/L1MuDTSecProcMap.h" 00021 00022 //--------------- 00023 // C++ Headers -- 00024 //--------------- 00025 00026 #include <iostream> 00027 00028 //------------------------------- 00029 // Collaborating Class Headers -- 00030 //------------------------------- 00031 00032 #include "L1Trigger/DTTrackFinder/src/L1MuDTSecProcId.h" 00033 #include "L1Trigger/DTTrackFinder/src/L1MuDTSectorProcessor.h" 00034 00035 using namespace std; 00036 00037 // -------------------------------- 00038 // class L1MuDTSecProcMap 00039 //--------------------------------- 00040 00041 //---------------- 00042 // Constructors -- 00043 //---------------- 00044 00045 L1MuDTSecProcMap::L1MuDTSecProcMap() : m_map() {} 00046 00047 //-------------- 00048 // Destructor -- 00049 //-------------- 00050 00051 L1MuDTSecProcMap::~L1MuDTSecProcMap() { 00052 00053 SPmap_iter iter = m_map.begin(); 00054 while ( iter != m_map.end() ) { 00055 delete (*iter).second; 00056 iter++; 00057 } 00058 m_map.clear(); 00059 00060 } 00061 00062 00063 //-------------- 00064 // Operations -- 00065 //-------------- 00066 00067 // 00068 // return Sector Processor 00069 // 00070 L1MuDTSectorProcessor* L1MuDTSecProcMap::sp(const L1MuDTSecProcId& id ) const { 00071 00072 SPmap::const_iterator it = m_map.find(id); 00073 if ( it == m_map.end() ) { 00074 cerr << "Error: Sector Processor not in the map" << endl; 00075 return 0; 00076 } 00077 return (*it).second; 00078 00079 } 00080 00081 00082 // 00083 // insert Sector Processor into container 00084 // 00085 void L1MuDTSecProcMap::insert(const L1MuDTSecProcId& id, L1MuDTSectorProcessor* sp) { 00086 00087 SPmap::const_iterator it = m_map.find(id); 00088 if ( it != m_map.end() ) 00089 cerr << "Error: More than one Sector Processor with same identifier" 00090 << endl; 00091 m_map[id] = sp; 00092 00093 }