ATLAS Offline Software
Loading...
Searching...
No Matches
Hid2RESrcID Class Reference

#include <Hid2RESrcID.h>

Collaboration diagram for Hid2RESrcID:

Public Types

typedef HWIdentifier COLLECTION_ID

Public Member Functions

 Hid2RESrcID ()
 constructor
StatusCode initialize (const LArFebRodMapping &rodMapping)
bool isInitialized () const
uint32_t getRodID (const LArFebRodMapping &rodMapping, const HWIdentifier &hid) const
 make a ROD SrcID for a HWIdentifier
uint32_t getRodIDFromROM (const COLLECTION_ID &hid) const
 make a ROD SrcID for a COLLECTION_ID
uint32_t getRobID (uint32_t rod_id) const
 Make a ROB Source ID from a ROD source ID.
uint32_t getRosID (uint32_t rob_id) const
 Make a ROS Source ID from a ROB source ID.
uint32_t getDetID (uint32_t ros_id) const
 Make a SubDetector ID from ROS source ID.

Private Types

typedef std::map< HWIdentifier, uint32_t > COLL_MAP

Private Member Functions

StatusCode initialize (const std::vector< HWIdentifier > &roms)

Private Attributes

bool m_initialized
const LArOnlineIDm_onlineHelper
COLL_MAP m_coll2ROD
LArReadoutModuleService m_readoutModuleSvc
RodRobIdMap m_rodRobIdMap

Detailed Description

Definition at line 38 of file Hid2RESrcID.h.

Member Typedef Documentation

◆ COLL_MAP

typedef std::map<HWIdentifier, uint32_t> Hid2RESrcID::COLL_MAP
private

Definition at line 78 of file Hid2RESrcID.h.

◆ COLLECTION_ID

Definition at line 42 of file Hid2RESrcID.h.

Constructor & Destructor Documentation

◆ Hid2RESrcID()

Hid2RESrcID::Hid2RESrcID ( )

constructor

Definition at line 29 of file Hid2RESrcID.cxx.

29 :
30 m_initialized(false),
32{
33
34}
const LArOnlineID * m_onlineHelper
Definition Hid2RESrcID.h:77
bool m_initialized
Definition Hid2RESrcID.h:76

Member Function Documentation

◆ getDetID()

uint32_t Hid2RESrcID::getDetID ( uint32_t ros_id) const

Make a SubDetector ID from ROS source ID.

mapping SrcID from ROS to Det

Definition at line 118 of file Hid2RESrcID.cxx.

119{
120// ROS to DET
121
122 SourceIdentifier id = SourceIdentifier(ros_id);
123 SourceIdentifier id2 = SourceIdentifier(id.subdetector_id(), 0);
124 return id2.code();
125}

◆ getRobID()

uint32_t Hid2RESrcID::getRobID ( uint32_t rod_id) const

Make a ROB Source ID from a ROD source ID.

mapping SrcID from ROD to ROB

Definition at line 98 of file Hid2RESrcID.cxx.

99{
100 return m_rodRobIdMap.getRobID (rod_id);
101}
RodRobIdMap m_rodRobIdMap
Definition Hid2RESrcID.h:81

◆ getRodID()

uint32_t Hid2RESrcID::getRodID ( const LArFebRodMapping & rodMapping,
const HWIdentifier & hid ) const

make a ROD SrcID for a HWIdentifier

Definition at line 86 of file Hid2RESrcID.cxx.

88{ // this method returns a RESrcID for the ROD, for a given LArOnlineID
89 // channel number is ignored.
90 HWIdentifier febId = m_onlineHelper->feb_Id(hid) ;
91 HWIdentifier romId = rodMapping.getReadoutModuleID(febId);
92
93 return getRodIDFromROM(romId);
94}
uint32_t getRodIDFromROM(const COLLECTION_ID &hid) const
make a ROD SrcID for a COLLECTION_ID
HWIdentifier getReadoutModuleID(const HWIdentifier &id) const

◆ getRodIDFromROM()

uint32_t Hid2RESrcID::getRodIDFromROM ( const COLLECTION_ID & hid) const

make a ROD SrcID for a COLLECTION_ID

Definition at line 73 of file Hid2RESrcID.cxx.

74{ // this method returns a RESrcID for the ROD, for a given COLLECTION_ID
75
76 COLL_MAP::const_iterator it = m_coll2ROD.find( id );
77 if(it == m_coll2ROD.end()){
78 std::cout <<" H2d2RESrcID invalid COLL ID in hex "<<std::hex<<id.get_compact()<<std::dec<<std::endl;
79 std::abort();
80 }
81
82 return (*it).second ;
83}
COLL_MAP m_coll2ROD
Definition Hid2RESrcID.h:79

◆ getRosID()

uint32_t Hid2RESrcID::getRosID ( uint32_t rob_id) const

Make a ROS Source ID from a ROB source ID.

mapping SrcID from ROB to ROS

Definition at line 106 of file Hid2RESrcID.cxx.

107{
108// Change Module Type to ROS, moduleid = 0
109
110 SourceIdentifier id = SourceIdentifier(rob_id);
111 SourceIdentifier id2 = SourceIdentifier(id.subdetector_id(), 0);
112 return id2.code();
113
114}

◆ initialize() [1/2]

StatusCode Hid2RESrcID::initialize ( const LArFebRodMapping & rodMapping)

Definition at line 36 of file Hid2RESrcID.cxx.

37{
38 ATH_CHECK( initialize (rodMapping.getLArRoModIDvec()) );
39 return StatusCode::SUCCESS;
40}
#define ATH_CHECK
Evaluate an expression and check for errors.
StatusCode initialize(const LArFebRodMapping &rodMapping)
const std::vector< HWIdentifier > & getLArRoModIDvec() const
"iterator" on LArReadoutModuleIDs

◆ initialize() [2/2]

StatusCode Hid2RESrcID::initialize ( const std::vector< HWIdentifier > & roms)
private

Definition at line 43 of file Hid2RESrcID.cxx.

44{
45 // retrieve onlineHelper
46 ServiceHandle<StoreGateSvc> detStore ("DetectorStore", "Hid2RESrcID");
47 ATH_CHECK( detStore.retrieve() );
48 ATH_CHECK( detStore->retrieve(m_onlineHelper, "LArOnlineID") );
49
50 // make internal maps
51
52 eformat::SubDetector detid ;
53 for (const HWIdentifier& mId : roms)
54 {
55 detid = (eformat::SubDetector) m_readoutModuleSvc.subDet(mId);
56 uint8_t m = m_readoutModuleSvc.rodFragId(mId);
57
58 SourceIdentifier sid = SourceIdentifier(detid,m);
59 uint32_t rod_id = sid.code();
60
61 assert( m_coll2ROD.count(mId) == 0 );
62 m_coll2ROD[ mId ]=rod_id;
63
64 }
65
66
67 m_initialized = true ;
68
69 return StatusCode::SUCCESS;
70}
LArReadoutModuleService m_readoutModuleSvc
Definition Hid2RESrcID.h:80
setEventNumber uint32_t

◆ isInitialized()

bool Hid2RESrcID::isInitialized ( ) const
inline

Definition at line 50 of file Hid2RESrcID.h.

50{ return m_initialized;}

Member Data Documentation

◆ m_coll2ROD

COLL_MAP Hid2RESrcID::m_coll2ROD
private

Definition at line 79 of file Hid2RESrcID.h.

◆ m_initialized

bool Hid2RESrcID::m_initialized
private

Definition at line 76 of file Hid2RESrcID.h.

◆ m_onlineHelper

const LArOnlineID* Hid2RESrcID::m_onlineHelper
private

Definition at line 77 of file Hid2RESrcID.h.

◆ m_readoutModuleSvc

LArReadoutModuleService Hid2RESrcID::m_readoutModuleSvc
private

Definition at line 80 of file Hid2RESrcID.h.

◆ m_rodRobIdMap

RodRobIdMap Hid2RESrcID::m_rodRobIdMap
private

Definition at line 81 of file Hid2RESrcID.h.


The documentation for this class was generated from the following files: