Lookup table for PMT addresses in optical module.
More...
#include <JModuleAddressMap.hh>
Lookup table for PMT addresses in optical module.
Definition at line 86 of file JModuleAddressMap.hh.
◆ JModuleAddressMap()
JDETECTOR::JModuleAddressMap::JModuleAddressMap |
( |
| ) |
|
|
inline |
Default constructor.
The list of valid PMT address translations should be build according to the detector type. The internal router is used to convert a readout channel (TDC) to a PMT readout address.
Definition at line 96 of file JModuleAddressMap.hh.
◆ has()
bool JDETECTOR::JModuleAddressMap::has |
( |
const int |
index | ) |
const |
|
inline |
Test whether index is available.
- Parameters
-
- Returns
- true if index is available; else false
Definition at line 107 of file JModuleAddressMap.hh.
109 return (index >= 0 && index < (
int) this->size());
◆ hasTDC()
bool JDETECTOR::JModuleAddressMap::hasTDC |
( |
const int |
tdc | ) |
const |
|
inline |
Test whether TDC is available.
- Parameters
-
- Returns
- true if TDC is available; else false
Definition at line 119 of file JModuleAddressMap.hh.
121 return (tdc >= 0 && tdc < (
int)
router.size() &&
router[tdc] != -1);
std::vector< int > router
◆ hasPMT()
Test whether PMT is available.
- Parameters
-
- Returns
- true if PMT is available; else false
Definition at line 131 of file JModuleAddressMap.hh.
135 const_iterator p = lower_bound(this->begin(), this->end(), address, less<JPMTPhysicalAddress>());
137 return (p != this->end() && *p == address);
◆ configure()
void JDETECTOR::JModuleAddressMap::configure |
( |
| ) |
|
|
inline |
Configure internal router.
Definition at line 144 of file JModuleAddressMap.hh.
148 sort(this->begin(), this->end(), less<JPMTPhysicalAddress>());
150 for (const_iterator i = this->begin(); i != this->end(); ++i) {
152 if (i->tdc >= (
int)
router.size()) {
153 router.resize(i->tdc + 1, -1);
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
◆ swap()
void JDETECTOR::JModuleAddressMap::swap |
( |
const int |
i1, |
|
|
const int |
i2 |
|
) |
| |
|
inline |
Swap readout addresses corresponding to indices.
- Parameters
-
i1 | first index |
i2 | second index |
Definition at line 167 of file JModuleAddressMap.hh.
169 std::swap(
router[at(i1).tdc],
Data structure for PMT readout address.
◆ swapTDC()
void JDETECTOR::JModuleAddressMap::swapTDC |
( |
const int |
tdc1, |
|
|
const int |
tdc2 |
|
) |
| |
|
inline |
Swap physical addresses corresponding to TDCs.
- Parameters
-
tdc1 | first TDC |
tdc2 | second TDC |
Definition at line 183 of file JModuleAddressMap.hh.
◆ swapPMT()
Swap readout addresses corresponding to PMTs.
- Parameters
-
pmt1 | first PMT |
pmt2 | second PMT |
Definition at line 199 of file JModuleAddressMap.hh.
void swapTDC(const int tdc1, const int tdc2)
Swap physical addresses corresponding to TDCs.
const JPMTReadoutAddress & getPMTReadoutAddress(const JPMTPhysicalAddress &address) const
Get PMT readout address.
◆ rotateR()
void JDETECTOR::JModuleAddressMap::rotateR |
( |
const char |
ring | ) |
|
|
inline |
Swap readout addresses by right rotation of physical addresses of PMTs in a given ring.
- Parameters
-
Definition at line 210 of file JModuleAddressMap.hh.
void swapPMT(const JPMTPhysicalAddress &pmt1, const JPMTPhysicalAddress &pmt2)
Swap readout addresses corresponding to PMTs.
Data structure for PMT physical address.
◆ rotateL()
void JDETECTOR::JModuleAddressMap::rotateL |
( |
const char |
ring | ) |
|
|
inline |
Swap readout addresses by left rotation of physical addresses of PMTs in a given ring.
- Parameters
-
Definition at line 227 of file JModuleAddressMap.hh.
◆ getIndex()
int JDETECTOR::JModuleAddressMap::getIndex |
( |
const int |
tdc | ) |
const |
|
inline |
Get PMT logical index for given TDC channel.
- Parameters
-
- Returns
- PMT logical index
Definition at line 245 of file JModuleAddressMap.hh.
◆ getAddressTranslator() [1/2]
Get PMT address translator.
- Parameters
-
- Returns
- PMT address translator
Definition at line 257 of file JModuleAddressMap.hh.
int getIndex(const int tdc) const
Get PMT logical index for given TDC channel.
◆ getPMTPhysicalAddress()
const JPMTPhysicalAddress& JDETECTOR::JModuleAddressMap::getPMTPhysicalAddress |
( |
const int |
tdc | ) |
const |
|
inline |
Get PMT physical address.
- Parameters
-
- Returns
- PMT physical address
Definition at line 269 of file JModuleAddressMap.hh.
const JPMTAddressTranslator & getAddressTranslator(const int tdc) const
Get PMT address translator.
◆ getAddressTranslator() [2/2]
Get PMT address translator.
- Parameters
-
address | PMT physical address |
- Returns
- PMT address translator
Definition at line 281 of file JModuleAddressMap.hh.
285 const_iterator p = lower_bound(this->begin(), this->end(), address, less<JPMTPhysicalAddress>());
287 if (p != this->end() && *p == address)
290 THROW(JIndexOutOfRange,
"Invalid PMT address " << address);
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
◆ getPMTReadoutAddress()
Get PMT readout address.
- Parameters
-
address | PMT physical address |
- Returns
- PMT readout address
Definition at line 300 of file JModuleAddressMap.hh.
◆ router
The documentation for this class was generated from the following file: