Belle II Software  release-06-02-00
StorageDeserializer.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef STORAGEDESERIALIZER_H
10 #define STORAGEDESERIALIZER_H
11 
12 #include <framework/core/Module.h>
13 #include <framework/datastore/StoreArray.h>
14 
15 #include <rawdata/dataobjects/RawCOPPER.h>
16 
17 #include <daq/slc/readout/RunInfoBuffer.h>
18 
19 #include <daq/storage/SharedEventBuffer.h>
20 #include "daq/storage/modules/DataStorePackage.h"
21 
22 #include <string>
23 #include <vector>
24 
25 namespace Belle2 {
33 
34  /*
35  private:
36  static StorageDeserializerModule* g_module;
37 
38  public:
39  static StorageDeserializerModule* get() { return g_module; }
40  static DataStorePackage& getPackage() { return *(g_module->m_package); }
41  static RunInfoBuffer& getInfo() { return g_module->m_info; }
42  static EvtMessage* streamDataStore();
43  */
44 
45  // Public functions
46  public:
49  virtual ~StorageDeserializerModule();
50 
52  virtual void initialize();
53 
55  virtual void beginRun();
56  virtual void event();
57  virtual void endRun();
58  virtual void terminate();
59 
60  private:
61  DataStorePackage* m_package;
62  std::string m_ibuf_name;
63  int m_ibuf_size;
64  SharedEventBuffer m_ibuf;
65  RunInfoBuffer m_info;
66  int m_compressionLevel;
67  int m_nodeid;
68  std::string m_nodename;
69  int m_shmflag;
70  unsigned long long m_count;
71  unsigned int m_expno;
72  unsigned int m_runno;
73  unsigned int m_evtno;
74  unsigned long long m_datasize;
75  MsgHandler* m_handler;
78  int m_eb2;
79  std::vector<std::string> m_saveObjs;
80 
81  StoreArray<RawCOPPER> rawcprarray;
82  StoreArray<RawPXD> rawpxdarray;
83 
84  };
85 
87 } // end namespace Belle2
88 
89 #endif // MODULEHELLO_H
Stream/restore DataStore objects to/from EvtMessage.
Base class for Modules.
Definition: Module.h:72
A class to encode/decode an EvtMessage.
Definition: MsgHandler.h:103
A class definition of an input module for Sequential ROOT I/O.
virtual void event()
This method is the core of the module.
DataStoreStreamer * m_streamer
DataStoreStreamer.
virtual void initialize()
Module functions to be called from main process.
virtual void beginRun()
Module functions to be called from event process.
StorageDeserializerModule()
Constructor / Destructor.
virtual void terminate()
This method is called at the end of the event processing.
virtual void endRun()
This method is called if the current run ends.
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Abstract base class for different kinds of events.