24 if (
this != &right ) {
27 for(
size_t ip=0; ip<right.
m_data[idSys].size(); ip++){
28 int bc=((right.
m_data[idSys]).at(ip)).first;
30 m_data[idSys].emplace_back(bc,std::move(vSL));
42 size_t subSystemAddress,
46 for(
size_t ip=0; ip<
m_data[systemAddress].size(); ip++){
47 int bc=((
m_data[systemAddress]).at(ip)).first;
48 if (bc != bcid)
continue;
50 return *(vecSL.at(
getSystemIndex(systemAddress,subSystemAddress,sectorAddress)));
57 size_t subSystemAddress,
60 for(
size_t ip=0; ip<
m_data[systemAddress].size(); ip++){
61 int bc=((
m_data[systemAddress]).at(ip)).first;
62 if (bc != bcid)
continue;
63 return m_data[systemAddress].at(ip).second.at(
getSystemIndex(systemAddress,subSystemAddress,sectorAddress));
71 size_t subSystemAddress,
75 if (
isEmpty(systemAddress,bcid)) {
76 ip =
reserve( systemAddress, bcid );
82 size_t idx=
getSystemIndex(systemAddress,subSystemAddress,sectorAddress);
83 if ( systemAddress ==
Barrel ) {
85 }
else if ( systemAddress ==
Endcap ) {
87 }
else if ( systemAddress ==
Forward ) {
95 size_t subSystemAddress,
99 std::unique_ptr<Lvl1MuSectorLogicDataPhase1> pData;
100 if ( systemAddress ==
Barrel ) {
101 pData = std::make_unique<Lvl1MuBarrelSectorLogicDataPhase1>();
102 }
else if ( systemAddress ==
Endcap ) {
103 pData = std::make_unique<Lvl1MuEndcapSectorLogicDataPhase1>();
104 }
else if ( systemAddress ==
Forward ) {
105 pData = std::make_unique<Lvl1MuForwardSectorLogicDataPhase1>();
109 pData->convertFromWordFormat( sectorWord );
115 if (
this == &right )
return;
118 for(
size_t ip=0; ip<right.
m_data[idSys].size(); ip++){
119 int bc=((right.
m_data[idSys]).at(ip)).first;
122 m_data[idSys].emplace_back(bc,std::move(vSL));
136 if ( systemAddress ==
Barrel ) {
139 vecSL.emplace_back(std::make_shared<Lvl1MuBarrelSectorLogicDataPhase1>());
142 }
else if ( systemAddress ==
Endcap ) {
145 vecSL.emplace_back(std::make_shared<Lvl1MuEndcapSectorLogicDataPhase1>());
148 }
else if ( systemAddress ==
Forward ) {
151 vecSL.emplace_back(std::make_shared<Lvl1MuForwardSectorLogicDataPhase1>());
155 size_t ip =
m_data[systemAddress].size();
156 m_data[systemAddress].emplace_back( bcid, std::move(vecSL));
166 for(
size_t ip=0; ip<
m_data[systemAddress].size(); ip++){
167 int bc=((
m_data[systemAddress]).at(ip)).first;
168 if (bc == bcid)
return false;;
184 m_data[systemAddress].clear();
198 size_t systemAddress;
199 size_t subSystemAddress;
202 out <<
"--------- Barrel Sector ---------------------------" << std::endl;
206 out <<
" ------ A Side (Z>0) ---------------------------" << std::endl;
207 subSystemAddress = right.
idSideA();
209 out <<
" ------ C Side (Z<0) ---------------------------" << std::endl;
210 subSystemAddress = right.
idSideC();
213 out <<
" --- Sector ID : " <<
id <<
" ----------" << std::endl;
214 for(
size_t ip=0; ip < right.
m_data[systemAddress].size(); ip++){
215 int bc=((right.
m_data[systemAddress]).at(ip)).first;
217 out <<
" BC: " << bc;
223 out <<
"--------- Endcap Sector ---------------------------" << std::endl;
227 out <<
" ------ A Side (Z>0) ---------------------------" << std::endl;
228 subSystemAddress = right.
idSideA();
230 out <<
" ------ C Side (Z<0) ---------------------------" << std::endl;
231 subSystemAddress = right.
idSideC();
234 out <<
" --- Sector ID : " <<
id <<
" ----------" << std::endl;
235 for(
size_t ip=0; ip < right.
m_data[systemAddress].size(); ip++){
236 int bc=((right.
m_data[systemAddress]).at(ip)).first;
238 out <<
" BC: " << bc;
244 out <<
"--------- Forward Sector ---------------------------" << std::endl;
248 out <<
" ------ A Side (Z>0) ---------------------------" << std::endl;
249 subSystemAddress = right.
idSideA();
251 out <<
" ------ C Side (Z<0) ---------------------------" << std::endl;
252 subSystemAddress = right.
idSideC();
255 out <<
" --- Sector ID : " <<
id <<
" ----------" << std::endl;
256 for(
size_t ip=0; ip < right.
m_data[systemAddress].size(); ip++){
257 int bc=((right.
m_data[systemAddress]).at(ip)).first;
259 out <<
" BC: " << bc;
char data[hepevt_bytes_allocation_ATLAS]
Class representing data from a barrel SL board.
Class representing data from an endcap SL board.
Class representing data from an forward SL board.
Base class for the data coming from one SL board.
std::pair< unsigned long int, unsigned short int > SectorLogicWord
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Namespace for the LVL1 muon interface classes.
std::ostream & operator<<(std::ostream &out, const Lvl1MuCTPIInput &right)