ATLAS Offline Software
|
Helper struct to represent the High-voltage pins and a possible connection between them. More...
#include <HedgehogBoard.h>
Classes | |
struct | TubeLayer |
Helper struct to return a tube & tube layer pair. More... | |
Public Types | |
using | HedgehogBoardPtr = std::shared_ptr< const HedgehogBoard > |
using | Mapping = std::array< uint8_t, nChPerBoard > |
Public Member Functions | |
HedgehogBoard ()=default | |
Default constructor. More... | |
HedgehogBoard (const Mapping &map, const uint8_t nTubeLay, const uint16_t boardId) | |
Standard constructor. More... | |
bool | operator< (const HedgehogBoard &other) const |
Ordering of hedgehog boards, performed by Identifier. More... | |
uint16_t | boardId () const |
Returns the identifier of the hedgehog board. More... | |
uint8_t | numTubeLayers () const |
Returns the number of tube layers 3 or 4. More... | |
uint8_t | numTubesPerLayer () const |
Returns the number of tubes per layer. More... | |
uint8_t | pinNumber (const TubeLayer &tubeLay) const |
Returns the pinNumber of the tubeLayer. More... | |
uint8_t | pinNumber (uint8_t layer, uint8_t tube) const |
Returns the pin number of the layer - tube pair. More... | |
uint8_t | pairPin (const TubeLayer &tubeLay) const |
Returns the number of the pin that's twin to the tubeLayer If the pin is not short circuited, then the actual tube, layer pair is returned. More... | |
uint8_t | pairPin (uint8_t layer, uint8_t tube) const |
Returns the number of the pin that's twin to the tubeLayer If the pin is not short circuited, then the actual tube, layer pair is returned. More... | |
TubeLayer | twinPair (const TubeLayer &tubeLay) const |
Returns the tube & layer short circuited with the given tubeLayer. More... | |
TubeLayer | twinPair (uint8_t layer, uint8_t tube) const |
Returns the tube & layer short circuited with the given tubeLayer. More... | |
void | setHVDelayTime (const double hvTime) |
Define a HV delay in the time of arrival between the primary & twin electronics signal. More... | |
bool | hasHVDelayTime () const |
Returns whether the HedgehogBoard has a specifc delay time. More... | |
double | hvDelayTime () const |
Returns the HV delay time. More... | |
const Mapping & | data () const |
Returns the underlying map. More... | |
Static Public Attributes | |
static constexpr unsigned | nChPerBoard = 24 |
Private Attributes | |
Mapping | m_hedgePins {make_array<uint8_t, nChPerBoard>(-1)} |
uint8_t | m_nTubeLay {0} |
uint8_t | m_nTubePerLay {0} |
uint16_t | m_id {0} |
std::optional< double > | m_hvDelay {std::nullopt} |
Helper struct to represent the High-voltage pins and a possible connection between them.
Likewise the MdtMezzanine Card, the HedgehogBoard covers exactly 24 tubes and the tube numbering layout may differ depending on whether the Mdt chamber has 3 or 4 multilayers
(16) (17) (18) (19) (20) (21) (22) (23) (08) (09) (10) (11) (12) (13) (14) (15) (00) (01) (02) (03) (04) (05) (06) (07) (18) (19) (20) (21) (22) (23) (12) (13) (14) (15) (16) (17) (06) (07) (08) (09) (10) (11) (00) (01) (02) (03) (04) (05)
If the Hedgehogboard is moounted onto a twin chamber, i.e. two HV pins are connected with a time impedance between, the n-th entry of the array indicates to which k-th tube, the n-th tube is actually connected and the k-th tube contains an n in order to close the connection.
Definition at line 32 of file HedgehogBoard.h.
using Muon::HedgehogBoard::HedgehogBoardPtr = std::shared_ptr<const HedgehogBoard> |
Definition at line 34 of file HedgehogBoard.h.
using Muon::HedgehogBoard::Mapping = std::array<uint8_t, nChPerBoard> |
Definition at line 37 of file HedgehogBoard.h.
|
default |
Default constructor.
Muon::HedgehogBoard::HedgehogBoard | ( | const Mapping & | map, |
const uint8_t | nTubeLay, | ||
const uint16_t | boardId | ||
) |
Standard constructor.
map | Encoding of the hedgehog pins |
nTubeLay | Number of tube layers 3 or 4 |
boardId | Identifier number of the Hedgehog board |
Definition at line 28 of file HedgehogBoard.cxx.
uint16_t Muon::HedgehogBoard::boardId | ( | ) | const |
const HedgehogBoard::Mapping & Muon::HedgehogBoard::data | ( | ) | const |
bool Muon::HedgehogBoard::hasHVDelayTime | ( | ) | const |
Returns whether the HedgehogBoard has a specifc delay time.
Definition at line 78 of file HedgehogBoard.cxx.
double Muon::HedgehogBoard::hvDelayTime | ( | ) | const |
Returns the HV delay time.
If not set 0 is returned
Definition at line 81 of file HedgehogBoard.cxx.
uint8_t Muon::HedgehogBoard::numTubeLayers | ( | ) | const |
uint8_t Muon::HedgehogBoard::numTubesPerLayer | ( | ) | const |
bool Muon::HedgehogBoard::operator< | ( | const HedgehogBoard & | other | ) | const |
Ordering of hedgehog boards, performed by Identifier.
Definition at line 37 of file HedgehogBoard.cxx.
Returns the number of the pin that's twin to the tubeLayer If the pin is not short circuited, then the actual tube, layer pair is returned.
tubeLay | Helper struct encoding the tube & layer number |
Definition at line 52 of file HedgehogBoard.cxx.
uint8_t Muon::HedgehogBoard::pairPin | ( | uint8_t | layer, |
uint8_t | tube | ||
) | const |
Returns the number of the pin that's twin to the tubeLayer If the pin is not short circuited, then the actual tube, layer pair is returned.
layer | Tube layer number [1-numTubeLayers()] |
tube | Tube number [1-nTubes()] |
Definition at line 55 of file HedgehogBoard.cxx.
Returns the pinNumber of the tubeLayer.
tubeLay | Helper struct encoding the tube & layer number |
Definition at line 44 of file HedgehogBoard.cxx.
uint8_t Muon::HedgehogBoard::pinNumber | ( | uint8_t | layer, |
uint8_t | tube | ||
) | const |
Returns the pin number of the layer - tube pair.
layer | Tube layer number [1-numTubeLayers()] |
tube | Tube number [1-nTubes()] |
Definition at line 47 of file HedgehogBoard.cxx.
void Muon::HedgehogBoard::setHVDelayTime | ( | const double | hvTime | ) |
Define a HV delay in the time of arrival between the primary & twin electronics signal.
hvTime | Delay time in ns |
Definition at line 75 of file HedgehogBoard.cxx.
Returns the tube & layer short circuited with the given tubeLayer.
tubeLay | Helper struct encoding the tube & layer number |
Definition at line 59 of file HedgehogBoard.cxx.
TubeLayer Muon::HedgehogBoard::twinPair | ( | uint8_t | layer, |
uint8_t | tube | ||
) | const |
Returns the tube & layer short circuited with the given tubeLayer.
layer | Tube layer number [1-numTubeLayers()] |
tube | Tube number [1-nTubes()] |
Definition at line 62 of file HedgehogBoard.cxx.
|
private |
Definition at line 112 of file HedgehogBoard.h.
|
private |
Definition at line 116 of file HedgehogBoard.h.
|
private |
Definition at line 115 of file HedgehogBoard.h.
|
private |
Definition at line 113 of file HedgehogBoard.h.
|
private |
Definition at line 114 of file HedgehogBoard.h.
|
staticconstexpr |
Definition at line 36 of file HedgehogBoard.h.