ATLAS Offline Software
Loading...
Searching...
No Matches
ZdcByteStreamCnv.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 ZDCBYTESTREAMCNV_H
6#define ZDCBYTESTREAMCNV_H
7/*
8 * ZdcByteStreamCnv.h
9 *
10 * Created on: May 7, 2009
11 * Author: leite
12 *
13 * This class is based on the code provided in the LAr ByteStream Converter
14 * /offline/LArCalorimeter/LArCnv/LArByteStream/LArByteStream/ZdcRawChannelContByteStreamCnv.h
15 *
16 * It will:
17 * take an event fragment
18 * verify if it's a ZDC fragment (really)
19 * extract the ROD header
20 * put the PPM data into a collection
21 *
22 */
23
24#include <stdint.h>
25#include <map>
26
28#include "GaudiKernel/ClassID.h"
29#include "GaudiKernel/MsgStream.h"
30#include "GaudiKernel/ServiceHandle.h"
31#include "GaudiKernel/ToolHandle.h"
32
33class DataObject;
35class IOpaqueAddress;
37class ISvcLocator;
38class StatusCode;
41class StoreGateSvc;
42
43// Abstract factory to create the converter
44template <typename > class CnvFactory;
45
51{
52public:
53 ZdcByteStreamCnv(ISvcLocator* svcloc);
54
55 virtual ~ZdcByteStreamCnv();
56
57 virtual StatusCode initialize() override;
58 virtual StatusCode createObjConst(IOpaqueAddress* pAddr, DataObject*& pObj) const override;
59 //virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr) override;
60
62 virtual long repSvcType() const override { return i_repSvcType(); }
63
64 static long storageType();
65 static const CLID& classID();
66
67private:
69 std::string m_name;
70
72 //ToolHandle<ZdcByteStreamTool> m_tool; // old style
73 ToolHandle<ZdcByteStreamReadV1V2Tool> m_tool; // new style
74
77
80
82};
83
84#endif /* ZDCBYTESTREAMCNV_H */
Gaudi converter base class with const interfaces.
uint32_t CLID
The Class ID type.
AthConstConverter(long storage_type, const CLID &class_type, ISvcLocator *svc, const std::string &name)
Abstract factory to create the converter.
Interface for accessing raw data.
Interface class for managing ROB for both online and offline.
The Athena Transient Store API.
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Service for READING bytestream.
virtual long repSvcType() const override
Storage type and class ID.
ServiceHandle< StoreGateSvc > m_evtStore
virtual StatusCode initialize() override
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create the transient representation of an object.
static long storageType()
ZdcByteStreamCnv(ISvcLocator *svcloc)
ZdcByteStreamCnv.cxx.
static const CLID & classID()
std::string m_name
Converter name.
ToolHandle< ZdcByteStreamReadV1V2Tool > m_tool
Tool that does the actual work.
ServiceHandle< IByteStreamEventAccess > m_ByteStreamEventAccess
Service for WRITING bytestream.
Tool to perform ROB fragments to trigger towers and trigger towers to raw data conversions.
Tool to perform ROB fragments to ZdcDigits and from ZdcDigits to raw data conversions.