1 #ifndef _DEVIOBufferWriter_
2 #define _DEVIOBufferWriter_
9 #include <JANA/JObject.h>
10 #include <JANA/JEventLoop.h>
11 #include <JANA/JApplication.h>
13 #include <JANA/JEventLoop.h>
64 COMPACT = compact_flag;
65 PREFER_EMULATED = prefer_emulated_flag;
67 write_out_all_rocs =
true;
71 void WriteEventToBuffer(JEventLoop *loop, vector<uint32_t> &buff, vector<const JObject *> objects_to_save)
const;
72 void WriteEventToBuffer(JEventLoop *locEventLoop, vector<uint32_t> &buff)
const;
75 rocs_to_write_out = new_rocs_to_write_out;
77 if(rocs_to_write_out.size() == 0)
78 write_out_all_rocs =
true;
84 void WriteBuiltTriggerBank(vector<uint32_t> &buff,
86 vector<const DCODAROCInfo*> &coda_rocinfos,
87 vector<const DCODAEventInfo*> &coda_events)
const;
89 void WriteCAEN1290Data(vector<uint32_t> &buff,
90 vector<const DCAEN1290TDCHit*> &caen1290hits,
91 vector<const DCAEN1290TDCConfig*> &caen1290configs,
95 void WriteF1Data(vector<uint32_t> &buff,
96 vector<const DF1TDCHit*> &F1hits,
97 vector<const DF1TDCTriggerTime*> &F1tts,
98 vector<const DF1TDCConfig*> &F1configs,
102 void Writef250Data(vector<uint32_t> &buff,
103 vector<const Df250PulseData*> &f250pulses,
104 vector<const Df250TriggerTime*> &f250tts,
105 vector<const Df250WindowRawData*> &f250wrds, vector<const Df250Scaler*> &f250scalers,
109 void Writef250Data(vector<uint32_t> &buff,
110 vector<const Df250PulseIntegral*> &f250pis,
111 vector<const Df250TriggerTime*> &f250tts,
112 vector<const Df250WindowRawData*> &f250wrds, vector<const Df250Scaler*> &f250scalers,
115 void Writef125Data(vector<uint32_t> &buff,
116 vector<const Df125PulseIntegral*> &f125pis,
117 vector<const Df125CDCPulse*> &f125cdcpulses,
118 vector<const Df125FDCPulse*> &f125fdcpulses,
119 vector<const Df125TriggerTime*> &f125tts,
120 vector<const Df125WindowRawData*> &f125wrds,
121 vector<const Df125Config*> &f125configs,
124 void WriteDircData(vector<uint32_t> &buff,
125 vector<const DDIRCTDCHit*> &dirctdchits,
126 vector<const DDIRCTriggerTime*> &dirctts,
129 void WriteEPICSData(vector<uint32_t> &buff,
130 vector<const DEPICSvalue*> epicsValues)
const;
132 void WriteEventTagData(vector<uint32_t> &buff,
133 uint64_t event_status,
136 template<
typename T,
typename M,
typename F>
137 void WriteBORSingle(vector<uint32_t> &buff, M m,
F&& modFunc)
const;
138 void WriteBORData(JEventLoop *loop, vector<uint32_t> &buff)
const;
140 void WriteTSSyncData(JEventLoop *loop,
141 vector<uint32_t> &buff,
144 void WriteDVertexData(JEventLoop *loop,
145 vector<uint32_t> &buff,
148 void WriteDEventRFBunchData(JEventLoop *loop,
149 vector<uint32_t> &buff,
set< uint32_t > rocs_to_write_out
DEVIOBufferWriter(bool compact_flag=false, bool prefer_emulated_flag=false)
void SetROCsToWriteOut(set< uint32_t > &new_rocs_to_write_out)