LDMX Software
packing::FiberTrackerBinaryPacket Struct Reference

Each one of these packets represents an entire spill of data. More...

Public Member Functions

bool next (FiberTrackerEvent &e)
 
utility::Readerread (utility::Reader &r)
 27 fields in order, all are present
 

Public Attributes

int acq_mode_
 
long int acq_stamp_
 
int acq_type_
 
int acq_type_allowed_
 
std::string coincidence_in_use_
 
int counts_
 
long int counts_records_
 
long int counts_records_with_zero_events_
 
long int counts_trigs_
 
std::string cycle_name_
 
long int cycle_stamp_
 
std::string equipment_name_
 
int event_selection_acq_
 
std::vector< FiberTrackerEventevents_data_
 This is the actual event data in which we are interested.
 
int i_event_ {0}
 index_ of event we are on (for next)
 
double mean_s_new_
 
std::string message_
 
std::vector< double > profile_
 
std::vector< double > profile_stand_alone_
 
std::string time_first_event_
 
std::string time_first_trigger_
 
std::string time_last_event_
 
std::string time_last_trigger_
 
int trigger_
 
int trigger_offset_acq_
 
int trigger_selection_acq_
 

Detailed Description

Each one of these packets represents an entire spill of data.

Definition at line 159 of file FiberTrackerRawDecoder.cxx.

Member Function Documentation

◆ next()

bool packing::FiberTrackerBinaryPacket::next ( FiberTrackerEvent & e)
inline

Definition at line 192 of file FiberTrackerRawDecoder.cxx.

192 {
193 i_event_++;
194 if (i_event_ < events_data_.size()) {
195 e = events_data_.at(i_event_);
196 return true;
197 }
198 return false;
199 }
std::vector< FiberTrackerEvent > events_data_
This is the actual event data in which we are interested.
int i_event_
index_ of event we are on (for next)

◆ read()

utility::Reader & packing::FiberTrackerBinaryPacket::read ( utility::Reader & r)
inline

27 fields in order, all are present

Definition at line 204 of file FiberTrackerRawDecoder.cxx.

204 {
205 int i_field{0};
206 acq_mode_ = FiberTrackerField(r, ++i_field).toInt();
207#ifdef DEBUG
208 std::cout << i_field << " " << "acqMode = " << acqMode << std::endl;
209#endif
210 acq_stamp_ = FiberTrackerField(r, ++i_field).toLong();
211#ifdef DEBUG
212 std::cout << i_field << " " << "acqStamp = " << acqStamp << std::endl;
213#endif
214 acq_type_ = FiberTrackerField(r, ++i_field).toInt();
215#ifdef DEBUG
216 std::cout << i_field << " " << "acqType = " << acqType << std::endl;
217#endif
218 acq_type_allowed_ = FiberTrackerField(r, ++i_field).toInt();
219#ifdef DEBUG
220 std::cout << i_field << " " << "acqTypeAllowed = " << acqTypeAllowed
221 << std::endl;
222#endif
223 coincidence_in_use_ = FiberTrackerField(r, ++i_field).toString();
224#ifdef DEBUG
225 std::cout << i_field << " " << "coincidenceInUse = " << coincidenceInUse
226 << std::endl;
227#endif
228 counts_ = FiberTrackerField(r, ++i_field).toInt();
229#ifdef DEBUG
230 std::cout << i_field << " " << "counts = " << counts << std::endl;
231#endif
232 counts_records_ = FiberTrackerField(r, ++i_field).toLong();
233#ifdef DEBUG
234 std::cout << i_field << " " << "countsRecords = " << countsRecords
235 << std::endl;
236#endif
237 counts_records_with_zero_events_ = FiberTrackerField(r, ++i_field).toLong();
238#ifdef DEBUG
239 std::cout << i_field << " "
240 << "countsRecordsWithZeroEvents = " << countsRecordsWithZeroEvents
241 << std::endl;
242#endif
243 counts_trigs_ = FiberTrackerField(r, ++i_field).toLong();
244#ifdef DEBUG
245 std::cout << i_field << " " << "countsTrigs = " << countsTrigs << std::endl;
246#endif
247 cycle_name_ = FiberTrackerField(r, ++i_field).toString();
248#ifdef DEBUG
249 std::cout << i_field << " " << "cycleName = " << cycleName << std::endl;
250#endif
251 cycle_stamp_ = FiberTrackerField(r, ++i_field).toLong();
252#ifdef DEBUG
253 std::cout << i_field << " " << "cycleStamp = " << cycleStamp << std::endl;
254#endif
255 equipment_name_ = FiberTrackerField(r, ++i_field).toString();
256#ifdef DEBUG
257 std::cout << i_field << " " << "equipmentName = " << equipmentName
258 << std::endl;
259#endif
260 event_selection_acq_ = FiberTrackerField(r, ++i_field).toInt();
261#ifdef DEBUG
262 std::cout << i_field << " " << "eventSelectionAcq = " << eventSelectionAcq
263 << std::endl;
264#endif
265 FiberTrackerField events_data_field(r, ++i_field);
266 i_event_ = -1;
267 events_data_.clear();
268 events_data_.reserve(events_data_field.value().size() / 10);
269 for (std::size_t i_word{0}; i_word < events_data_field.value().size();
270 i_word += 10) {
271 events_data_.emplace_back(events_data_field.value(), i_word);
272 }
273#ifdef DEBUG
274 std::cout << i_field << " " << "eventsData (size = " << eventsData.size()
275 << ")" << std::endl;
276#endif
277 mean_s_new_ = FiberTrackerField(r, ++i_field).toDouble();
278#ifdef DEBUG
279 std::cout << i_field << " " << "meanSNew = " << meanSNew << std::endl;
280#endif
281 message_ = FiberTrackerField(r, ++i_field).toString();
282#ifdef DEBUG
283 std::cout << i_field << " " << "message = " << message << std::endl;
284#endif
285 FiberTrackerField profile_field(r, ++i_field);
286 profile_.clear();
287 profile_.reserve(profile_field.value().size() / 2);
288 for (std::size_t i_word{0}; i_word < profile_field.value().size();
289 i_word += 2) {
290 profile_.push_back(profile_field.toDouble(i_word));
291 }
292#ifdef DEBUG
293 std::cout << i_field << " " << "profile size " << profile.size()
294 << std::endl;
295#endif
296 // fields 18 and 19 are skipped
297 i_field += 2;
298 FiberTrackerField profile_stand_alone_field(r, ++i_field);
299 profile_stand_alone_.clear();
300 profile_stand_alone_.reserve(profile_stand_alone_field.value().size() / 2);
301 for (std::size_t i_word{0};
302 i_word < profile_stand_alone_field.value().size(); i_word += 2) {
303 profile_stand_alone_.push_back(
304 profile_stand_alone_field.toDouble(i_word));
305 }
306#ifdef DEBUG
307 std::cout << i_field << " " << "profileStandAlone size "
308 << profileStandAlone.size() << std::endl;
309#endif
310 time_first_event_ = FiberTrackerField(r, ++i_field).toString();
311#ifdef DEBUG
312 std::cout << i_field << " " << "timeFirstEvent = " << timeFirstEvent
313 << std::endl;
314#endif
315 time_first_trigger_ = FiberTrackerField(r, ++i_field).toString();
316#ifdef DEBUG
317 std::cout << i_field << " " << "timeFirstTrigger = " << timeFirstTrigger
318 << std::endl;
319#endif
320 time_last_event_ = FiberTrackerField(r, ++i_field).toString();
321#ifdef DEBUG
322 std::cout << i_field << " " << "timeLastEvent = " << timeLastEvent
323 << std::endl;
324#endif
325 time_last_trigger_ = FiberTrackerField(r, ++i_field).toString();
326#ifdef DEBUG
327 std::cout << i_field << " " << "timeLastTrigger = " << timeLastTrigger
328 << std::endl;
329#endif
330 trigger_ = FiberTrackerField(r, ++i_field).toInt();
331#ifdef DEBUG
332 std::cout << i_field << " " << "trigger = " << trigger << std::endl;
333#endif
334 trigger_offset_acq_ = FiberTrackerField(r, ++i_field).toInt();
335#ifdef DEBUG
336 std::cout << i_field << " " << "triggerOffsetAcq = " << triggerOffsetAcq
337 << std::endl;
338#endif
339 trigger_selection_acq_ = FiberTrackerField(r, ++i_field).toInt();
340#ifdef DEBUG
341 std::cout << i_field << " "
342 << "triggerSelectionAcq = " << triggerSelectionAcq << std::endl;
343#endif
344 return r;
345 }

References events_data_, i_event_, packing::FiberTrackerField::toDouble(), packing::FiberTrackerField::toInt(), packing::FiberTrackerField::toLong(), packing::FiberTrackerField::toString(), and packing::FiberTrackerField::value().

Member Data Documentation

◆ acq_mode_

int packing::FiberTrackerBinaryPacket::acq_mode_

Definition at line 160 of file FiberTrackerRawDecoder.cxx.

◆ acq_stamp_

long int packing::FiberTrackerBinaryPacket::acq_stamp_

Definition at line 161 of file FiberTrackerRawDecoder.cxx.

◆ acq_type_

int packing::FiberTrackerBinaryPacket::acq_type_

Definition at line 162 of file FiberTrackerRawDecoder.cxx.

◆ acq_type_allowed_

int packing::FiberTrackerBinaryPacket::acq_type_allowed_

Definition at line 163 of file FiberTrackerRawDecoder.cxx.

◆ coincidence_in_use_

std::string packing::FiberTrackerBinaryPacket::coincidence_in_use_

Definition at line 164 of file FiberTrackerRawDecoder.cxx.

◆ counts_

int packing::FiberTrackerBinaryPacket::counts_

Definition at line 165 of file FiberTrackerRawDecoder.cxx.

◆ counts_records_

long int packing::FiberTrackerBinaryPacket::counts_records_

Definition at line 166 of file FiberTrackerRawDecoder.cxx.

◆ counts_records_with_zero_events_

long int packing::FiberTrackerBinaryPacket::counts_records_with_zero_events_

Definition at line 167 of file FiberTrackerRawDecoder.cxx.

◆ counts_trigs_

long int packing::FiberTrackerBinaryPacket::counts_trigs_

Definition at line 168 of file FiberTrackerRawDecoder.cxx.

◆ cycle_name_

std::string packing::FiberTrackerBinaryPacket::cycle_name_

Definition at line 169 of file FiberTrackerRawDecoder.cxx.

◆ cycle_stamp_

long int packing::FiberTrackerBinaryPacket::cycle_stamp_

Definition at line 170 of file FiberTrackerRawDecoder.cxx.

◆ equipment_name_

std::string packing::FiberTrackerBinaryPacket::equipment_name_

Definition at line 171 of file FiberTrackerRawDecoder.cxx.

◆ event_selection_acq_

int packing::FiberTrackerBinaryPacket::event_selection_acq_

Definition at line 172 of file FiberTrackerRawDecoder.cxx.

◆ events_data_

std::vector<FiberTrackerEvent> packing::FiberTrackerBinaryPacket::events_data_

This is the actual event data in which we are interested.

Definition at line 176 of file FiberTrackerRawDecoder.cxx.

Referenced by read().

◆ i_event_

int packing::FiberTrackerBinaryPacket::i_event_ {0}

index_ of event we are on (for next)

Definition at line 178 of file FiberTrackerRawDecoder.cxx.

178{0};

Referenced by read().

◆ mean_s_new_

double packing::FiberTrackerBinaryPacket::mean_s_new_

Definition at line 180 of file FiberTrackerRawDecoder.cxx.

◆ message_

std::string packing::FiberTrackerBinaryPacket::message_

Definition at line 181 of file FiberTrackerRawDecoder.cxx.

◆ profile_

std::vector<double> packing::FiberTrackerBinaryPacket::profile_

Definition at line 182 of file FiberTrackerRawDecoder.cxx.

◆ profile_stand_alone_

std::vector<double> packing::FiberTrackerBinaryPacket::profile_stand_alone_

Definition at line 183 of file FiberTrackerRawDecoder.cxx.

◆ time_first_event_

std::string packing::FiberTrackerBinaryPacket::time_first_event_

Definition at line 184 of file FiberTrackerRawDecoder.cxx.

◆ time_first_trigger_

std::string packing::FiberTrackerBinaryPacket::time_first_trigger_

Definition at line 185 of file FiberTrackerRawDecoder.cxx.

◆ time_last_event_

std::string packing::FiberTrackerBinaryPacket::time_last_event_

Definition at line 186 of file FiberTrackerRawDecoder.cxx.

◆ time_last_trigger_

std::string packing::FiberTrackerBinaryPacket::time_last_trigger_

Definition at line 187 of file FiberTrackerRawDecoder.cxx.

◆ trigger_

int packing::FiberTrackerBinaryPacket::trigger_

Definition at line 188 of file FiberTrackerRawDecoder.cxx.

◆ trigger_offset_acq_

int packing::FiberTrackerBinaryPacket::trigger_offset_acq_

Definition at line 189 of file FiberTrackerRawDecoder.cxx.

◆ trigger_selection_acq_

int packing::FiberTrackerBinaryPacket::trigger_selection_acq_

Definition at line 190 of file FiberTrackerRawDecoder.cxx.


The documentation for this struct was generated from the following file: