Belle II Software  release-05-02-19
DataStorePackage.h
1 #ifndef DATASTOREPACKAGE_H
2 #define DATASTOREPACKAGE_H
3 
4 #include <framework/datastore/StoreArray.h>
5 #include <framework/pcore/DataStoreStreamer.h>
6 
7 #include <daq/slc/system/Mutex.h>
8 #include <rawdata/dataobjects/RawPXD.h>
9 
10 #include "daq/storage/BinData.h"
11 
12 namespace Belle2 {
19 
20  public:
21  static const unsigned int MAX_BUFFER_WORDS = 10000000;
22 
23  private:
24  static Mutex g_mutex;
25  static bool g_init;
26  enum ETObjectBits {
27  c_IsTransient = BIT(19),
28  c_IsNull = BIT(20)
29  };
30 
31  public:
32  DataStorePackage(DataStoreStreamer* streamer, int eb2, unsigned int serial = 0)
33  : m_serial(serial)
34  {
35  m_streamer = streamer;
36  m_buf = new int [MAX_BUFFER_WORDS];
37  m_data.setBuffer(m_buf);
38  m_data_hlt.setBuffer(NULL);
39  m_data_pxd.setBuffer(NULL);
40  m_eb2 = eb2;
41  }
43  {
44  delete[] m_buf;
45  }
46 
47  public:
48  bool restore();
49  unsigned int getSerial() const { return m_serial; }
50  void setSerial(unsigned int serial) { m_serial = serial; }
51  const BinData& getData() const { return m_data; }
52  const BinData& getHLTData() const { return m_data_hlt; }
53  const BinData& getPXDData() const { return m_data_pxd; }
54 
55  private:
56  unsigned int m_serial;
57  BinData m_data;
58  BinData m_data_hlt;
59  BinData m_data_pxd;
60  int* m_buf;
61  int m_eb2;
62  //DataStoreStreamer m_streamer;
63  DataStoreStreamer* m_streamer;
64  StoreArray<RawPXD> m_rawpxdary;
65  //StoreArray<SndHdrTemp> m_sndhdrary;
66 
67  };
68 
70 }
71 
72 #endif
Belle2::Mutex
Definition: Mutex.h:12
Belle2::DataStorePackage
Definition: DataStorePackage.h:18
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BinData
Definition: BinData.h:26
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::DataStoreStreamer
Stream/restore DataStore objects to/from EvtMessage.
Definition: DataStoreStreamer.h:33