ATLAS Offline Software
SCTRawContByteStreamTool.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef SCT_RAWDATABYTESTREAMCNV_SCTRAWCONTBYTESTREAMTOOL_H
8 #define SCT_RAWDATABYTESTREAMCNV_SCTRAWCONTBYTESTREAMTOOL_H
9 
12 
15 
16 #include "GaudiKernel/ToolHandle.h"
17 #include "GaudiKernel/ServiceHandle.h"
18 
19 
20 class ISCT_RodEncoder;
21 class ISCT_CablingTool;
22 class SCT_ID;
23 class SrcIdMap;
24 
37 class SCTRawContByteStreamTool : public extends<AthAlgTool, ISCTRawContByteStreamTool>
38 {
39  public:
40 
42  SCTRawContByteStreamTool(const std::string& type, const std::string& name, const IInterface* parent);
43 
45  virtual ~SCTRawContByteStreamTool() = default;
46 
48  virtual StatusCode initialize() override;
49 
51  virtual StatusCode finalize() override;
52 
61  virtual StatusCode convert(const SCT_RDO_Container* sctRDOCont) const override;
62 
63  private:
65  { this, "ByteStreamCnvSvc", "ByteStreamCnvSvc" };
66 
68  ToolHandle<ISCT_RodEncoder> m_encoder{this, "Encoder", "SCT_RodEncoder", "SCT ROD Encoder for RDO to BS conversion"};
69 
71  ToolHandle<ISCT_CablingTool> m_cabling{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"};
72 
75  const SCT_ID* m_sctIDHelper{nullptr};
76 
77  UnsignedShortProperty m_rodBlockVersion{this, "RodBlockVersion", 0};
78 };
79 
80 #endif // SCT_RAWDATABYTESTREAMCNV_SCTRAWCONTBYTESTREAMTOOL_H
SCTRawContByteStreamTool
Athena Algorithm Tool to provide conversion from SCT RDO container to ByteStream.
Definition: SCTRawContByteStreamTool.h:38
ISCTRawContByteStreamTool.h
SCTRawContByteStreamTool::~SCTRawContByteStreamTool
virtual ~SCTRawContByteStreamTool()=default
Destructor.
SCTRawContByteStreamTool::m_rodBlockVersion
UnsignedShortProperty m_rodBlockVersion
Definition: SCTRawContByteStreamTool.h:77
ISCT_CablingTool
Definition: ISCT_CablingTool.h:36
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
SCTRawContByteStreamTool::SCTRawContByteStreamTool
SCTRawContByteStreamTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: SCTRawContByteStreamTool.cxx:18
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
ISCT_RodEncoder
Interface for Athena Algorithm Tool to convert from SCT RDO to ROD format BysteStream.
Definition: ISCT_RodEncoder.h:33
SCTRawContByteStreamTool::m_sctIDHelper
const SCT_ID * m_sctIDHelper
Identifier helper class for the SCT subdetector that creates compact Identifier objects and Identifie...
Definition: SCTRawContByteStreamTool.h:75
test_pyathena.parent
parent
Definition: test_pyathena.py:15
SrcIdMap
This class provides default conversion between Lower level Source ID to higher level source ID.
Definition: SrcIdMap.h:23
FullEventAssembler.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
SCT_ID
Definition: SCT_ID.h:68
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SCTRawContByteStreamTool::initialize
virtual StatusCode initialize() override
Initialize.
Definition: SCTRawContByteStreamTool.cxx:26
SCTRawContByteStreamTool::m_byteStreamCnvSvc
ServiceHandle< IByteStreamCnvSvc > m_byteStreamCnvSvc
Definition: SCTRawContByteStreamTool.h:65
SCTRawContByteStreamTool::m_cabling
ToolHandle< ISCT_CablingTool > m_cabling
Providing mappings of online and offline identifiers and also serial numbers.
Definition: SCTRawContByteStreamTool.h:71
SCTRawContByteStreamTool::finalize
virtual StatusCode finalize() override
Finalize.
Definition: SCTRawContByteStreamTool.cxx:42
IByteStreamCnvSvc.h
SCTRawContByteStreamTool::m_encoder
ToolHandle< ISCT_RodEncoder > m_encoder
Algorithm Tool to decode ROB bytestream data into RDO.
Definition: SCTRawContByteStreamTool.h:68
SCTRawContByteStreamTool::convert
virtual StatusCode convert(const SCT_RDO_Container *sctRDOCont) const override
Main Convert method.
Definition: SCTRawContByteStreamTool.cxx:49
ServiceHandle< IByteStreamCnvSvc >