ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
Muon::CscRDO_Decoder Class Reference

#include <CscRDO_Decoder.h>

Inheritance diagram for Muon::CscRDO_Decoder:
Collaboration diagram for Muon::CscRDO_Decoder:

Public Member Functions

 CscRDO_Decoder (const std::string &type, const std::string &name, const IInterface *parent)
 constructor More...
 
virtual ~CscRDO_Decoder ()=default
 destructor More...
 
virtual StatusCode initialize () override final
 
virtual void getDigit (const CscRawData *rawData, const CscIdHelper *cscIdHelper, Identifier &moduleId, Identifier &channelId, double &adc, double &time) const override final
 
virtual Identifier stationIdentifier (const CscRawData *rawData, const CscIdHelper *cscIdHelper) const override final
 
virtual Identifier channelIdentifier (const CscRawData *rawData, const CscIdHelper *cscIdHelper, int j) const override final
 

Private Attributes

std::string m_detdescr
 
ServiceHandle< CSCcablingSvcm_cabling {this, "CSCcablingSvc", "CSCcablingSvc", "CSC cabling service handle"}
 
ToolHandle< ICscCalibToolm_cscCalibTool {this, "cscCalibTool", "CscCalibTool", "CSC calibration tool handle"}
 
double m_timeOffset = 0.0
 
double m_samplingTime = 0.0
 
double m_signalWidth = 0.0
 

Detailed Description

Definition at line 32 of file CscRDO_Decoder.h.

Constructor & Destructor Documentation

◆ CscRDO_Decoder()

Muon::CscRDO_Decoder::CscRDO_Decoder ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

constructor

Definition at line 12 of file CscRDO_Decoder.cxx.

12  :
13  base_class(type, name, parent) {}

◆ ~CscRDO_Decoder()

virtual Muon::CscRDO_Decoder::~CscRDO_Decoder ( )
virtualdefault

destructor

Member Function Documentation

◆ channelIdentifier()

Identifier Muon::CscRDO_Decoder::channelIdentifier ( const CscRawData rawData,
const CscIdHelper cscIdHelper,
int  j 
) const
finaloverridevirtual

get the raw data

now decode the endcoded fragments find the Identifiers

Definition at line 60 of file CscRDO_Decoder.cxx.

60  {
62  uint32_t address = rawData->address();
63 
64  // initialize some parameters
65  CscRODReadOut rodReadOut;
66  rodReadOut.set(cscIdHelper);
67  rodReadOut.setChamberBitVaue(1);
69 
71  Identifier moduleId = rodReadOut.decodeAddress(address);
72 
73  ATH_MSG_DEBUG(" CscRDO_Decoder OUTPUT ::: " << m_timeOffset << " " << m_samplingTime << " " << m_signalWidth << " "
74  << " " << m_detdescr << " " << address << " " << moduleId << " " << j);
75 
76  return rodReadOut.decodeAddress(address, moduleId, j);
77 }

◆ getDigit()

void Muon::CscRDO_Decoder::getDigit ( const CscRawData rawData,
const CscIdHelper cscIdHelper,
Identifier moduleId,
Identifier channelId,
double &  adc,
double &  time 
) const
finaloverridevirtual

Definition at line 27 of file CscRDO_Decoder.cxx.

28  {
29  // get the raw data
30  uint32_t address = rawData->address();
31 
32  // initialize some parameters
33  CscRODReadOut rodReadOut;
34  rodReadOut.set(cscIdHelper);
35  rodReadOut.setChamberBitVaue(1);
37 
38  adc = rodReadOut.findCharge(m_samplingTime, rawData->samples(), time);
39 
40  // now decode the encoded fragments
41  // find the Identifier and charge
42  moduleId = rodReadOut.decodeAddress(address);
43  channelId = rodReadOut.decodeAddress(address, moduleId);
44 }

◆ initialize()

StatusCode Muon::CscRDO_Decoder::initialize ( )
finaloverridevirtual

Definition at line 15 of file CscRDO_Decoder.cxx.

15  {
16  ATH_MSG_DEBUG("CscRDO_Decoder::initialize");
17  ATH_CHECK(m_cabling.retrieve());
18  ATH_CHECK(m_cscCalibTool.retrieve());
19  ATH_MSG_DEBUG(" Parameters are from CscCalibTool ");
20  m_samplingTime = m_cscCalibTool->getSamplingTime();
21  m_signalWidth = m_cscCalibTool->getSignalWidth();
22  m_timeOffset = m_cscCalibTool->getTimeOffset();
23  ATH_MSG_DEBUG(" Initialization is done!");
24  return StatusCode::SUCCESS;
25 }

◆ stationIdentifier()

Identifier Muon::CscRDO_Decoder::stationIdentifier ( const CscRawData rawData,
const CscIdHelper cscIdHelper 
) const
finaloverridevirtual

get the raw data

now decode the endcoded fragments find the Identifiers

Definition at line 46 of file CscRDO_Decoder.cxx.

46  {
48  uint32_t address = rawData->address();
49 
50  // initialize some parameters
51  CscRODReadOut rodReadOut;
52  rodReadOut.set(cscIdHelper);
53  rodReadOut.setChamberBitVaue(1);
55 
57  return rodReadOut.decodeAddress(address);
58 }

Member Data Documentation

◆ m_cabling

ServiceHandle<CSCcablingSvc> Muon::CscRDO_Decoder::m_cabling {this, "CSCcablingSvc", "CSCcablingSvc", "CSC cabling service handle"}
private

Definition at line 51 of file CscRDO_Decoder.h.

◆ m_cscCalibTool

ToolHandle<ICscCalibTool> Muon::CscRDO_Decoder::m_cscCalibTool {this, "cscCalibTool", "CscCalibTool", "CSC calibration tool handle"}
private

Definition at line 52 of file CscRDO_Decoder.h.

◆ m_detdescr

std::string Muon::CscRDO_Decoder::m_detdescr
private

Definition at line 50 of file CscRDO_Decoder.h.

◆ m_samplingTime

double Muon::CscRDO_Decoder::m_samplingTime = 0.0
private

Definition at line 54 of file CscRDO_Decoder.h.

◆ m_signalWidth

double Muon::CscRDO_Decoder::m_signalWidth = 0.0
private

Definition at line 55 of file CscRDO_Decoder.h.

◆ m_timeOffset

double Muon::CscRDO_Decoder::m_timeOffset = 0.0
private

Definition at line 53 of file CscRDO_Decoder.h.


The documentation for this class was generated from the following files:
CscRODReadOut::decodeAddress
Identifier decodeAddress(const uint32_t address) const
Definition: CscRODReadOut.h:161
CscRODReadOut::findCharge
static int findCharge(double samplingTime, const std::vector< uint16_t > &amplitude, double &time)
Definition: CscRODReadOut.cxx:70
CscRODReadOut::setParams
void setParams(double timeOffset, double signalWidth)
Definition: CscRODReadOut.h:110
CscRawData::address
uint32_t address() const
Definition: CscRawData.h:131
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
Muon::CscRDO_Decoder::m_signalWidth
double m_signalWidth
Definition: CscRDO_Decoder.h:55
CscRODReadOut::set
void set(const CscIdHelper *cscIdHelper)
Definition: CscRODReadOut.h:50
Muon::CscRDO_Decoder::m_detdescr
std::string m_detdescr
Definition: CscRDO_Decoder.h:50
CscRODReadOut
Definition: CscRODReadOut.h:22
Muon::CscRDO_Decoder::m_cabling
ServiceHandle< CSCcablingSvc > m_cabling
Definition: CscRDO_Decoder.h:51
CscRODReadOut::setChamberBitVaue
void setChamberBitVaue(uint32_t value)
Definition: CscRODReadOut.h:51
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Muon::CscRDO_Decoder::m_cscCalibTool
ToolHandle< ICscCalibTool > m_cscCalibTool
Definition: CscRDO_Decoder.h:52
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CscRawData::samples
const std::vector< uint16_t > & samples() const
Definition: CscRawData.h:130
RTTAlgmain.address
address
Definition: RTTAlgmain.py:55
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
ReadFloatFromCool.adc
adc
Definition: ReadFloatFromCool.py:48
Muon::CscRDO_Decoder::m_samplingTime
double m_samplingTime
Definition: CscRDO_Decoder.h:54
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Muon::CscRDO_Decoder::m_timeOffset
double m_timeOffset
Definition: CscRDO_Decoder.h:53