ATLAS Offline Software
CscRDO_Decoder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONCSC_CNVTOOLS_CSCRDO_DECODER_H
6 #define MUONCSC_CNVTOOLS_CSCRDO_DECODER_H
7 
8 #include <inttypes.h>
9 
10 #include <mutex>
11 #include <string>
12 #include <vector>
13 
17 #include "CscRODReadOut.h"
18 #include "GaudiKernel/ServiceHandle.h"
19 #include "GaudiKernel/ToolHandle.h"
22 
23 class Identifier;
24 class CscRawData;
25 
30 namespace Muon {
31 
32  class CscRDO_Decoder : public extends<AthAlgTool, ICSC_RDO_Decoder> {
33  public:
36  CscRDO_Decoder(const std::string& type, const std::string& name, const IInterface* parent);
37 
40  virtual ~CscRDO_Decoder() = default;
41 
42  virtual StatusCode initialize() override final;
43 
44  virtual void getDigit(const CscRawData* rawData, const CscIdHelper* cscIdHelper, Identifier& moduleId, Identifier& channelId,
45  double& adc, double& time) const override final;
46  virtual Identifier stationIdentifier(const CscRawData* rawData, const CscIdHelper* cscIdHelper) const override final;
47  virtual Identifier channelIdentifier(const CscRawData* rawData, const CscIdHelper* cscIdHelper, int j) const override final;
48 
49  private:
50  std::string m_detdescr;
51  ServiceHandle<CSCcablingSvc> m_cabling{this, "CSCcablingSvc", "CSCcablingSvc", "CSC cabling service handle"};
52  ToolHandle<ICscCalibTool> m_cscCalibTool{this, "cscCalibTool", "CscCalibTool", "CSC calibration tool handle"};
53  double m_timeOffset = 0.0;
54  double m_samplingTime = 0.0;
55  double m_signalWidth = 0.0;
56  };
57 } // namespace Muon
58 
59 #endif // MUONCSC_CNVTOOL_CSCRDO_DECODER_H
CscIdHelper.h
ICSC_RDO_Decoder.h
Muon::CscRDO_Decoder::CscRDO_Decoder
CscRDO_Decoder(const std::string &type, const std::string &name, const IInterface *parent)
constructor
Definition: CscRDO_Decoder.cxx:12
Muon::CscRDO_Decoder::initialize
virtual StatusCode initialize() override final
Definition: CscRDO_Decoder.cxx:15
Muon::CscRDO_Decoder::~CscRDO_Decoder
virtual ~CscRDO_Decoder()=default
destructor
ICscCalibTool.h
CscRODReadOut.h
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::CscRDO_Decoder::m_signalWidth
double m_signalWidth
Definition: CscRDO_Decoder.h:55
Muon::CscRDO_Decoder::stationIdentifier
virtual Identifier stationIdentifier(const CscRawData *rawData, const CscIdHelper *cscIdHelper) const override final
Definition: CscRDO_Decoder.cxx:46
Muon::CscRDO_Decoder::m_detdescr
std::string m_detdescr
Definition: CscRDO_Decoder.h:50
Muon::CscRDO_Decoder
Definition: CscRDO_Decoder.h:32
Muon::CscRDO_Decoder::m_cabling
ServiceHandle< CSCcablingSvc > m_cabling
Definition: CscRDO_Decoder.h:51
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CSCcablingSvc
Definition: CSCcablingSvc.h:23
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Muon::CscRDO_Decoder::m_cscCalibTool
ToolHandle< ICscCalibTool > m_cscCalibTool
Definition: CscRDO_Decoder.h:52
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
Muon::CscRDO_Decoder::channelIdentifier
virtual Identifier channelIdentifier(const CscRawData *rawData, const CscIdHelper *cscIdHelper, int j) const override final
Definition: CscRDO_Decoder.cxx:60
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CscRawData
Class to hold the electronic output for a single CSC readout channel: n sampling ADC data + the addre...
Definition: CscRawData.h:21
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
CscIdHelper
Definition: CscIdHelper.h:52
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::getDigit
virtual void getDigit(const CscRawData *rawData, const CscIdHelper *cscIdHelper, Identifier &moduleId, Identifier &channelId, double &adc, double &time) const override final
Definition: CscRDO_Decoder.cxx:27
Muon::CscRDO_Decoder::m_timeOffset
double m_timeOffset
Definition: CscRDO_Decoder.h:53
CSCcablingSvc.h
ServiceHandle
Definition: ClusterMakerTool.h:37