Belle II Software  release-05-02-19
DeSerializerPrePC.h
1 //+
2 // File : DeSerializerPrePC.h
3 // Description : Module to receive data from outside and store it to DataStore
4 //
5 // Author : Satoru Yamada, IPNS, KEK
6 // Date : 4 - Sep - 2014
7 //-
8 
9 #ifndef DESERIALIZERPREPC_H
10 #define DESERIALIZERPREPC_H
11 
12 #include <string>
13 #include <vector>
14 #include <stdlib.h>
15 
16 #include <framework/datastore/StoreArray.h>
17 
18 #include <daq/rawdata/modules/DeSerializer.h>
19 #include <daq/dataflow/EvtSocket.h>
20 
21 #include <rawdata/dataobjects/RawCOPPER.h>
22 #include <rawdata/dataobjects/PreRawCOPPERFormat_latest.h>
23 
24 #include <rawdata/dataobjects/RawFTSW.h>
25 
26 namespace Belle2 {
35 
36  // Public functions
37  public:
38 
41  virtual ~DeSerializerPrePCModule();
42 
44  virtual void initialize();
45 
47  virtual void event();
48 
49 
50  protected :
52  virtual int Connect();
53 
55  virtual int recvFD(int fd, char* buf, int data_size_byte, int flag);
56 
57 
59  virtual int* recvData(int* delete_flag, int* total_m_size_word, int* num_events_in_sendblock, int* num_nodes_in_sendblock);
60 
62  virtual void setRecvdBuffer(RawDataBlock* raw_datablk, int* delete_flag);
63 
65  virtual void checkData(RawDataBlock* raw_datablk, unsigned int* eve_copper_0);
66 
69 
71  std::vector<EvtSocketRecv*> m_recv;
72 
74  std::vector<int> m_socket;
75 
77  std::vector<std::string> m_hostname_from;
78 
80  std::vector<int> m_port_from;
81 
82  StoreArray<RawFTSW> raw_ftswarray;
83 
84  StoreArray<RawCOPPER> rawcprarray;
85 
86  // StoreArray<ReducedRawCOPPER> rawcprarray;
88  PreRawCOPPERFormat_latest m_pre_rawcpr;
89 
90  int event_diff;
91 
92  unsigned int m_prev_copper_ctr;
93 
94  unsigned int m_prev_evenum;
95 
96  };
97 
99 } // end namespace Belle2
100 
101 #endif // MODULEHELLO_H
Belle2::DeSerializerPrePCModule::m_port_from
std::vector< int > m_port_from
port # to connect data sources
Definition: DeSerializerPrePC.h:80
Belle2::DeSerializerPrePCModule::m_recv
std::vector< EvtSocketRecv * > m_recv
Reciever basf2 Socket.
Definition: DeSerializerPrePC.h:71
Belle2::DeSerializerPrePCModule::m_hostname_from
std::vector< std::string > m_hostname_from
hostname of upstream Data Sources
Definition: DeSerializerPrePC.h:77
Belle2::PreRawCOPPERFormat_latest
The Raw COPPER class ver.1 ( the latest version since May, 2014 ) This class stores data received by ...
Definition: PreRawCOPPERFormat_latest.h:30
Belle2::DeSerializerPrePCModule::recvFD
virtual int recvFD(int fd, char *buf, int data_size_byte, int flag)
receive data
Definition: DeSerializerPrePC.cc:110
Belle2::DeSerializerPrePCModule::initialize
virtual void initialize()
Module functions to be called from main process.
Definition: DeSerializerPrePC.cc:55
Belle2::DeSerializerPrePCModule::event
virtual void event()
Module functions to be called from event process.
Definition: DeSerializerPrePC.cc:552
Belle2::DeSerializerPrePCModule
A class definition of an input module for Sequential ROOT I/O.
Definition: DeSerializerPrePC.h:34
Belle2::DeSerializerPrePCModule::Connect
virtual int Connect()
Accept connection.
Definition: DeSerializerPrePC.cc:133
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DeSerializerPrePCModule::setRecvdBuffer
virtual void setRecvdBuffer(RawDataBlock *raw_datablk, int *delete_flag)
attach buffer to RawDataBlock
Definition: DeSerializerPrePC.cc:339
Belle2::DeSerializerModule
A class definition of an input module for Sequential ROOT I/O.
Definition: DeSerializer.h:36
Belle2::DeSerializerPrePCModule::m_socket
std::vector< int > m_socket
Reciever Socket.
Definition: DeSerializerPrePC.h:74
Belle2::DeSerializerPrePCModule::checkData
virtual void checkData(RawDataBlock *raw_datablk, unsigned int *eve_copper_0)
check data contents
Definition: DeSerializerPrePC.cc:379
Belle2::DeSerializerPrePCModule::m_num_connections
int m_num_connections
Definition: DeSerializerPrePC.h:68
Belle2::DeSerializerPrePCModule::recvData
virtual int * recvData(int *delete_flag, int *total_m_size_word, int *num_events_in_sendblock, int *num_nodes_in_sendblock)
receive data
Definition: DeSerializerPrePC.cc:207
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::DeSerializerPrePCModule::DeSerializerPrePCModule
DeSerializerPrePCModule()
Constructor / Destructor.
Definition: DeSerializerPrePC.cc:35
Belle2::RawDataBlock
The RawDataBlock class Base class for rawdata handling.
Definition: RawDataBlock.h:27