  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
   10         m_idHelperSvc{idHelperSvc} {
 
   30             const uint8_t boardNum =  ( (in.tube-1) - (in.tube-1) % tray.nTubesPerLay) / tray.nTubesPerLay;
 
   31             if (boardNum >= tray.cards.size() || !tray.cards[boardNum]) {
 
   34             const TubeLayer out = tray.cards[boardNum]->twinPair(in);
 
   37                                                              out.layer, 
out.tube + tray.nTubesPerLay*boardNum);
 
   46                      <<
", slot: "<<
static_cast<int>(slot));
 
   50         if (!tray.nTubesPerLay) {
 
   52             tray.nTubesPerLay = board->numTubesPerLayer();
 
   53             if (nTubLayers != board->numTubeLayers()) {
 
   54                 ATH_MSG_FATAL(
"The new hedgehog board "<<(*board)<<
" does not match in terms of tube layers" 
   56                 return StatusCode::FAILURE;
 
   58         } 
else if (tray.nTubesPerLay != board->numTubesPerLayer()){
 
   60                 <<
"Number of tubes per layer does not match. "<<
static_cast<int>(tray.nTubesPerLay)<<
" vs. " 
   61                 <<
static_cast<int>(board->numTubesPerLayer()));
 
   62             return StatusCode::FAILURE;
 
   66         if (board.use_count() < 3) {
 
   67             for (
uint8_t lay = 1 ; lay<= board->numTubeLayers(); ++lay) {
 
   75                         ATH_MSG_FATAL(
"Back & forth mapping of "<<std::endl<<(*board)<<std::endl
 
   76                                    <<
" failed. Started with "<<in<<
" via "<<
out<<
" & ended in "<<twinTwin);
 
   77                         return StatusCode::FAILURE;
 
   82         if (tray.cards.size() <= slot) {
 
   83             tray.cards.resize(slot +1);
 
   85         tray.cards[slot] = board;
 
   86         return StatusCode::SUCCESS;
 
   96             const uint8_t boardNum =  (
tube - 
tube % tray.nTubesPerLay) / tray.nTubesPerLay;
 
   97             if (boardNum < tray.cards.size() && tray.cards[boardNum] && tray.cards[boardNum]->hasHVDelayTime()) {
 
   98                 ATH_MSG_VERBOSE(
"Specific delay time set to "<<tray.cards[boardNum]->hvDelayTime());
 
   99                 return tray.cards[boardNum]->hvDelayTime();
 
  105         ATH_MSG_DEBUG(
"Set the default HV delay to "<<hvDelay<<
" ns.");
 
  
void setDefaultHVDelay(const double hvDelay)
Sets the default HV delay.
 
double hvDelayTime(const Identifier &channelId) const
Returns the HV time delay for a given twin tube pair.
 
HedgehogBoard::HedgehogBoardPtr HedgehogBoardPtr
 
virtual std::string toStringDetEl(const Identifier &id) const =0
print all fields up to detector element to string
 
StatusCode addHedgeHogBoard(const Identifier &detElId, const HedgehogBoardPtr &board, const uint16_t slot)
Add a new hedgehog board with twin tube mapping.
 
#define ATH_MSG_VERBOSE(x)
 
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
 
HedgehogBoard::TubeLayer TubeLayer
 
uint8_t layer
Layer number [1- numTubeLayers()].
 
static int tubeLayerMax()
 
Identifier twinId(const Identifier &channelId) const
Returns the Identifier of the mapped twin tube.
 
::StatusCode StatusCode
StatusCode definition for legacy code.
 
Class to provide easy MsgStream access and capabilities.
 
virtual const MdtIdHelper & mdtIdHelper() const =0
access to MdtIdHelper
 
TwinTubeMap(const IMuonIdHelperSvc *idHelperSvc)
 
virtual std::string toString(const Identifier &id) const =0
print all fields to string
 
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
 
Helper struct to return a tube & tube layer pair.
 
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
 
bool isTwinTubeLayer(const Identifier &channelId) const
Returns whether the multilayer is equipped with twin-tubes or not.
 
uint8_t tube
Tube number [1- 24/numTubeLayers()].
 
virtual IdentifierHash detElementHash(const Identifier &id) const =0
Returns the detector element hash associated to an Identifier.
 
const IMuonIdHelperSvc * m_idHelperSvc