ATLAS Offline Software
ByteStreamAddress.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef BYTESTREAMCNVSVCBASE_BYTESTREAMADDRESS_H
6 #define BYTESTREAMCNVSVCBASE_BYTESTREAMADDRESS_H
7 
8 // Framework include files
9 #include "GaudiKernel/GenericAddress.h"
10 #include "GaudiKernel/EventContext.h"
11 
12 #include <stdint.h>
13 #include <vector>
14 
28 class ByteStreamAddress : public GenericAddress {
29 public:
30  // @brief Constructor
31  ByteStreamAddress(const CLID& clid, const std::string& fname, const std::string& cname, int p1 = 0, int p2 = 0);
32  // @brief Constructor
33  ByteStreamAddress(const CLID& clid);
34 
35  // @brief Destructor
36  virtual ~ByteStreamAddress() {}; //doesn't own event
37 
38  // @brief Add a rob id
39  void add(uint32_t robid);
40 
41  // @brief Add event id
42  void setEventContext(const EventContext& eid);
43 
44  // @brief access the ROB fragment IDs
45  const std::vector<uint32_t>& getRobIDs() const;
46 
47  // @brief get event id
48  const EventContext& getEventContext() const;
49 
50  // @brief storage type to be used by all bytestream converters
51  static constexpr long storageType() { return 0x43; }
52 
53 private:
54  // @brief it holds a vector of rob ids
55  std::vector<uint32_t> m_robIDs;
56  EventContext m_eid;
57 };
58 
59 inline void ByteStreamAddress::setEventContext(const EventContext& eid)
60 { m_eid = eid; }
61 
62 inline const EventContext& ByteStreamAddress::getEventContext() const
63 { return m_eid; }
64 
65 #endif
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
ByteStreamAddress::m_robIDs
std::vector< uint32_t > m_robIDs
Definition: ByteStreamAddress.h:55
ByteStreamAddress::~ByteStreamAddress
virtual ~ByteStreamAddress()
Definition: ByteStreamAddress.h:36
ByteStreamAddress
IOpaqueAddress for ByteStreamCnvSvc, with ROB ids.
Definition: ByteStreamAddress.h:28
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
ByteStreamAddress::getEventContext
const EventContext & getEventContext() const
Definition: ByteStreamAddress.h:62
ByteStreamAddress::storageType
static constexpr long storageType()
Definition: ByteStreamAddress.h:51
ByteStreamAddress::setEventContext
void setEventContext(const EventContext &eid)
Definition: ByteStreamAddress.h:59
ByteStreamAddress::m_eid
EventContext m_eid
Definition: ByteStreamAddress.h:56
python.AthDsoLogger.fname
string fname
Definition: AthDsoLogger.py:67
ByteStreamAddress::getRobIDs
const std::vector< uint32_t > & getRobIDs() const
access the fragment pointer
Definition: ByteStreamAddress.cxx:44
ByteStreamAddress::ByteStreamAddress
ByteStreamAddress(const CLID &clid, const std::string &fname, const std::string &cname, int p1=0, int p2=0)
Standard Constructor.
Definition: ByteStreamAddress.cxx:27
ByteStreamAddress::add
void add(uint32_t robid)
Add ROBID.
Definition: ByteStreamAddress.cxx:38