Belle II Software  release-05-01-25
StorageDeserializer.h
1 //+
2 // File : StorageDeserializer.h
3 // Description : Module to receive data from outside and store it to DataStore
4 //
5 // Author : Tomoyuki Konno, Tokyo Metropolitan University
6 // Date : 16 - Oct - 2013
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
Belle2::RunInfoBuffer
Definition: RunInfoBuffer.h:15
Belle2::StorageDeserializerModule
A class definition of an input module for Sequential ROOT I/O.
Definition: StorageDeserializer.h:32
Belle2::SharedEventBuffer
Definition: SharedEventBuffer.h:14
Belle2::StorageDeserializerModule::terminate
virtual void terminate()
This method is called at the end of the event processing.
Definition: StorageDeserializer.cc:152
Belle2::DataStorePackage
Definition: DataStorePackage.h:18
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StorageDeserializerModule::initialize
virtual void initialize()
Module functions to be called from main process.
Definition: StorageDeserializer.cc:61
Belle2::StorageDeserializerModule::StorageDeserializerModule
StorageDeserializerModule()
Constructor / Destructor.
Definition: StorageDeserializer.cc:39
Belle2::StorageDeserializerModule::event
virtual void event()
This method is the core of the module.
Definition: StorageDeserializer.cc:102
Belle2::StorageDeserializerModule::m_streamer
DataStoreStreamer * m_streamer
DataStoreStreamer.
Definition: StorageDeserializer.h:77
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::StorageDeserializerModule::beginRun
virtual void beginRun()
Module functions to be called from event process.
Definition: StorageDeserializer.cc:141
Belle2::StorageDeserializerModule::endRun
virtual void endRun()
This method is called if the current run ends.
Definition: StorageDeserializer.cc:146
Belle2::DataStoreStreamer
Stream/restore DataStore objects to/from EvtMessage.
Definition: DataStoreStreamer.h:33
Belle2::MsgHandler
A class to encode/decode an EvtMessage.
Definition: MsgHandler.h:104