ATLAS Offline Software
Public Member Functions | List of all members
LVL1BS::L1CaloSrcIdMap Class Reference

This class provides conversion between Lower level Source ID to higher level source ID for L1Calo ByteStream fragments. More...

#include <L1CaloSrcIdMap.h>

Collaboration diagram for LVL1BS::L1CaloSrcIdMap:

Public Member Functions

 L1CaloSrcIdMap ()
 
uint32_t getRodID (int crate, int slink, int daqOrRoi, eformat::SubDetector subdet) const
 Make a ROD Source ID. More...
 
uint32_t getRobID (uint32_t rod_id) const
 Make a ROB Source ID from a ROD source ID. More...
 
uint32_t getRosID (uint32_t rob_id) const
 Make a ROS Source ID from a ROB source ID. More...
 
uint32_t getDetID (uint32_t ros_id) const
 Make a SubDetector ID from ROS source ID. More...
 
int crate (uint32_t code) const
 Return crate from unpacked moduleID. More...
 
int daqOrRoi (uint32_t code) const
 Return daqOrRoi from unpacked moduleID. More...
 
int slink (uint32_t code) const
 Return slink from unpacked moduleID. More...
 
int maxSlinks () const
 Return the maximum possible number of slinks. More...
 
eformat::SubDetector subDet (uint32_t code) const
 Return sub-detector for given ID. More...
 
uint16_t minorVersion () const
 Return ROD header minor version to use when writing BS. More...
 
uint16_t minorVersionPreLS1 () const
 Return last ROD header minor version for pre-LS1 data. More...
 

Detailed Description

This class provides conversion between Lower level Source ID to higher level source ID for L1Calo ByteStream fragments.

This is to be used in assembling the fragments from ROD fragments

Author
Peter Faulkner

Definition at line 22 of file L1CaloSrcIdMap.h.

Constructor & Destructor Documentation

◆ L1CaloSrcIdMap()

LVL1BS::L1CaloSrcIdMap::L1CaloSrcIdMap ( )

Definition at line 10 of file L1CaloSrcIdMap.cxx.

11 {
12 }

Member Function Documentation

◆ crate()

int LVL1BS::L1CaloSrcIdMap::crate ( uint32_t  code) const

Return crate from unpacked moduleID.

Definition at line 52 of file L1CaloSrcIdMap.cxx.

53 {
54  eformat::helper::SourceIdentifier id(code);
55  return id.module_id() & 0xf;
56 }

◆ daqOrRoi()

int LVL1BS::L1CaloSrcIdMap::daqOrRoi ( uint32_t  code) const

Return daqOrRoi from unpacked moduleID.

Definition at line 60 of file L1CaloSrcIdMap.cxx.

61 {
62  eformat::helper::SourceIdentifier id(code);
63  return (id.module_id() >> 7) & 0x1;
64 }

◆ getDetID()

uint32_t LVL1BS::L1CaloSrcIdMap::getDetID ( uint32_t  ros_id) const

Make a SubDetector ID from ROS source ID.

Definition at line 43 of file L1CaloSrcIdMap.cxx.

44 {
45  eformat::helper::SourceIdentifier id(ros_id);
46  eformat::helper::SourceIdentifier id2(id.subdetector_id(), 0);
47  return id2.code();
48 }

◆ getRobID()

uint32_t LVL1BS::L1CaloSrcIdMap::getRobID ( uint32_t  rod_id) const

Make a ROB Source ID from a ROD source ID.

Definition at line 27 of file L1CaloSrcIdMap.cxx.

28 {
29  return rod_id;
30 }

◆ getRodID()

uint32_t LVL1BS::L1CaloSrcIdMap::getRodID ( int  crate,
int  slink,
int  daqOrRoi,
eformat::SubDetector  subdet 
) const

Make a ROD Source ID.

Definition at line 16 of file L1CaloSrcIdMap.cxx.

18 {
19  // module ID = r0sscccc (ROD-spec-version1_06d, P33)
20  uint16_t moduleId = (daqOrRoi << 7) | (slink << 4) | crate;
21  eformat::helper::SourceIdentifier helpID(subdet, moduleId);
22  return helpID.code();
23 }

◆ getRosID()

uint32_t LVL1BS::L1CaloSrcIdMap::getRosID ( uint32_t  rob_id) const

Make a ROS Source ID from a ROB source ID.

Definition at line 34 of file L1CaloSrcIdMap.cxx.

35 {
36  eformat::helper::SourceIdentifier id(rob_id);
37  eformat::helper::SourceIdentifier id2(id.subdetector_id(), 0);
38  return id2.code();
39 }

◆ maxSlinks()

int LVL1BS::L1CaloSrcIdMap::maxSlinks ( ) const

Return the maximum possible number of slinks.

Definition at line 77 of file L1CaloSrcIdMap.cxx.

78 {
79  return 4;
80 }

◆ minorVersion()

uint16_t LVL1BS::L1CaloSrcIdMap::minorVersion ( ) const
inline

Return ROD header minor version to use when writing BS.

Definition at line 56 of file L1CaloSrcIdMap.h.

56 {return 0x1004;} // Or may go up to 0x2000, CHECK

◆ minorVersionPreLS1()

uint16_t LVL1BS::L1CaloSrcIdMap::minorVersionPreLS1 ( ) const
inline

Return last ROD header minor version for pre-LS1 data.

Definition at line 59 of file L1CaloSrcIdMap.h.

59 {return 0x1003;}

◆ slink()

int LVL1BS::L1CaloSrcIdMap::slink ( uint32_t  code) const

Return slink from unpacked moduleID.

Definition at line 68 of file L1CaloSrcIdMap.cxx.

69 {
70  eformat::helper::SourceIdentifier id(code);
71  return (id.module_id() >> 4) & 0x3;
72 }

◆ subDet()

eformat::SubDetector LVL1BS::L1CaloSrcIdMap::subDet ( uint32_t  code) const

Return sub-detector for given ID.

Definition at line 84 of file L1CaloSrcIdMap.cxx.

84  {
85  eformat::helper::SourceIdentifier id(code);
86  return id.subdetector_id();
87 }

The documentation for this class was generated from the following files:
LVL1BS::L1CaloSrcIdMap::slink
int slink(uint32_t code) const
Return slink from unpacked moduleID.
Definition: L1CaloSrcIdMap.cxx:68
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
id2
HWIdentifier id2
Definition: LArRodBlockPhysicsV0.cxx:564
LVL1BS::L1CaloSrcIdMap::crate
int crate(uint32_t code) const
Return crate from unpacked moduleID.
Definition: L1CaloSrcIdMap.cxx:52
pmontree.code
code
Definition: pmontree.py:443
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
LVL1BS::L1CaloSrcIdMap::daqOrRoi
int daqOrRoi(uint32_t code) const
Return daqOrRoi from unpacked moduleID.
Definition: L1CaloSrcIdMap.cxx:60