ATLAS Offline Software
Loading...
Searching...
No Matches
CscRawDataCollectionIdHash.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
9
10// default contructor
12{
13 // initialize RPC cabling service
14 ServiceHandle<CSCcablingSvc> cabling{"CSCcablingSvc", "CscRawDataCollectionIdHash"};
15 if (cabling.retrieve().isFailure()) {
16 REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "CscRawDataCollectionIdHash")
17 << "Cannot get CSC cabling Service " << endmsg;
18 }
19
20 // loop over all RODs
21 for (uint16_t id=0; id<cabling->maxId(); ++id)
22 {
23 // map
24 m_lookup[id]=m_size;
25 m_int2id.push_back(id);
26 // ROD ID
27 m_int2rodId.push_back( id%cabling->nROD() );
28 ++m_size;
29
30 // SubDetectorID
31 if ( id < cabling->nROD() ) // C-side
32 m_int2subDetectorId.push_back(0x6A);
33 else // A-side
34 m_int2subDetectorId.push_back(0x69);
35 }
36}
37
38
41{
42 if (index>=0 && index < m_size)
43 return m_int2id[index];
44
45 // if invalid index
46 return INVALID_ID;
47}
48
49
52{
53 if (index>=0 && index < m_size)
55
56 // if invalid index
57 return INVALID_ID;
58}
59
60
62uint16_t CscRawDataCollectionIdHash::rodId(unsigned int index) const
63{
64 //if (index>=0 && index < m_size)
65 // return m_int2rodId[index];
66
67 if(index < m_int2rodId.size())
68 return m_int2rodId.at(index);
69 // if invalid index
70 return INVALID_ID;
71}
72
73
76{
77 std::map<ID,int>::const_iterator it = m_lookup.find(id);
78 if(it!=m_lookup.end())
79 return it->second;
80
81 // if invalid ID
82 return INVALID_ID;
83}
84
#define endmsg
Helpers for checking error return status codes and reporting errors.
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
std::vector< uint16_t > m_int2subDetectorId
reverse lookup for SubDetectorID and ROD ID
int operator()(const ID &id) const
Convert ID to int.
ID identifier(int i) const
reverse conversion
std::vector< ID > m_int2id
reverse lookup
uint16_t rodId(unsigned int i) const
reverse conversion : ROD ID
std::map< ID, int > m_lookup
lookup table
uint16_t subDetectorId(int i) const
reverse conversion for SubDetectorID and ROD ID
Definition index.py:1