ATLAS Offline Software
Loading...
Searching...
No Matches
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
virtual ~CscRDO_Decoder ()=default
 destructor
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}
#define ATH_MSG_DEBUG(x)
Identifier decodeAddress(const uint32_t address) const
void setParams(double timeOffset, double signalWidth)
void set(const CscIdHelper *cscIdHelper)
void setChamberBitVaue(uint32_t value)
uint32_t address() const
Definition CscRawData.h:131
setEventNumber uint32_t

◆ 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}
static int findCharge(double samplingTime, const std::vector< uint16_t > &amplitude, double &time)
const std::vector< uint16_t > & samples() const
Definition CscRawData.h:130

◆ 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}
#define ATH_CHECK
Evaluate an expression and check for errors.
ToolHandle< ICscCalibTool > m_cscCalibTool
ServiceHandle< CSCcablingSvc > m_cabling

◆ 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.

51{this, "CSCcablingSvc", "CSCcablingSvc", "CSC cabling service handle"};

◆ 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.

52{this, "cscCalibTool", "CscCalibTool", "CSC calibration tool handle"};

◆ 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: