ATLAS Offline Software
TileLaserObjByteStreamCnv.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 //author Renato Febbraro
6 //renato.febbraro@cern.ch
7 //date February 2008
8 
9 #ifndef TILELASEROBJ_BYTESTREAMCNV_H
10 #define TILELASEROBJ_BYTESTREAMCNV_H
11 
12 // Gaudi includes
13 #include "GaudiKernel/ToolHandle.h"
14 #include "GaudiKernel/ServiceHandle.h"
15 
16 // Athena includes
18 
19 #include "eformat/ROBFragment.h"
20 
21 class DataObject;
22 class StatusCode;
23 class IAddressCreator;
24 class IROBDataProviderSvc;
26 class TileROD_Decoder;
27 class TileLaserObject;
28 class TileHid2RESrcID;
29 
30 #include <vector>
31 #include <stdint.h>
32 
33 
34 // Abstract factory to create the converter
35 template <class TYPE> class CnvFactory;
36 
37 
39  : public AthConstConverter
40  {
41  public:
42  TileLaserObjByteStreamCnv(ISvcLocator* svcloc);
43 
45 
46  virtual StatusCode initialize() override;
47  virtual StatusCode createObjConst(IOpaqueAddress* pAddr, DataObject*& pObj) const override;
48  virtual StatusCode createRepConst(DataObject* pObj, IOpaqueAddress*& pAddr) const override;
49 
51  virtual long repSvcType() const override { return i_repSvcType(); }
52  static long storageType();
53  static const CLID& classID();
54 
55  private:
58 
60  ToolHandle<TileROD_Decoder> m_decoder;
61 
62  std::vector<uint32_t> m_ROBID;
63 
66 };
67 #endif
TileROD_Decoder
Decodes the different TileCal ROD subfragment types in bytestream data and fills TileDigitsContainer,...
Definition: TileROD_Decoder.h:119
TileLaserObjByteStreamCnv::classID
static const CLID & classID()
Definition: TileLaserObjByteStreamCnv.cxx:46
TileLaserObjByteStreamCnv::BYTESTREAMTOOL
TileLaserObjByteStreamTool BYTESTREAMTOOL
Definition: TileLaserObjByteStreamCnv.h:44
AthConstConverter
Gaudi converter base class with const interfaces.
Definition: AthConstConverter.h:33
TileLaserObjByteStreamCnv
Definition: TileLaserObjByteStreamCnv.h:40
TileLaserObjByteStreamCnv::storageType
static long storageType()
Definition: TileLaserObjByteStreamCnv.cxx:48
TileLaserObjByteStreamCnv::repSvcType
virtual long repSvcType() const override
Storage type and class ID.
Definition: TileLaserObjByteStreamCnv.h:51
TileHid2RESrcID
This class provides conversion between fragment ID and RESrcID.
Definition: TileHid2RESrcID.h:28
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition: IROBDataProviderSvc.h:25
TileLaserObjByteStreamCnv::m_hid2re
const TileHid2RESrcID * m_hid2re
Pointer to TileHid2RESrcID.
Definition: TileLaserObjByteStreamCnv.h:65
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthConstConverter.h
Gaudi converter base class with const interfaces.
TileLaserObjByteStreamCnv::createRepConst
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Convert the transient object to the requested representation.
Definition: TileLaserObjByteStreamCnv.cxx:102
CnvFactory
Abstract factory to create the converter.
Definition: ToyConverter.h:16
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
TileLaserObjByteStreamCnv::initialize
virtual StatusCode initialize() override
Definition: TileLaserObjByteStreamCnv.cxx:50
TileLaserObjByteStreamCnv::m_decoder
ToolHandle< TileROD_Decoder > m_decoder
Pointer to TileROD_Decoder.
Definition: TileLaserObjByteStreamCnv.h:60
TileLaserObjByteStreamCnv::createObjConst
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create the transient representation of an object.
Definition: TileLaserObjByteStreamCnv.cxx:72
TileLaserObjByteStreamCnv::m_robSvc
ServiceHandle< IROBDataProviderSvc > m_robSvc
Pointer to IROBDataProviderSvc.
Definition: TileLaserObjByteStreamCnv.h:57
TileLaserObjByteStreamCnv::m_ROBID
std::vector< uint32_t > m_ROBID
Definition: TileLaserObjByteStreamCnv.h:62
TileLaserObject
Definition: TileLaserObject.h:33
TileLaserObjByteStreamCnv::TileLaserObjByteStreamCnv
TileLaserObjByteStreamCnv(ISvcLocator *svcloc)
Definition: TileLaserObjByteStreamCnv.cxx:37
TileLaserObjByteStreamTool
Definition: TileLaserObjByteStreamTool.h:23
ServiceHandle< IROBDataProviderSvc >