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::Reader & read (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< FiberTrackerEvent > events_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 155 of file FiberTrackerRawDecoder.cxx.

Member Function Documentation

◆ next()

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

Definition at line 188 of file FiberTrackerRawDecoder.cxx.

188 {
189 i_event_++;
190 if (i_event_ < events_data_.size()) {
191 e = events_data_.at(i_event_);
192 return true;
193 }
194 return false;
195 }
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 200 of file FiberTrackerRawDecoder.cxx.

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

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 156 of file FiberTrackerRawDecoder.cxx.

◆ acq_stamp_

long int packing::FiberTrackerBinaryPacket::acq_stamp_

Definition at line 157 of file FiberTrackerRawDecoder.cxx.

◆ acq_type_

int packing::FiberTrackerBinaryPacket::acq_type_

Definition at line 158 of file FiberTrackerRawDecoder.cxx.

◆ acq_type_allowed_

int packing::FiberTrackerBinaryPacket::acq_type_allowed_

Definition at line 159 of file FiberTrackerRawDecoder.cxx.

◆ coincidence_in_use_

std::string packing::FiberTrackerBinaryPacket::coincidence_in_use_

Definition at line 160 of file FiberTrackerRawDecoder.cxx.

◆ counts_

int packing::FiberTrackerBinaryPacket::counts_

Definition at line 161 of file FiberTrackerRawDecoder.cxx.

◆ counts_records_

long int packing::FiberTrackerBinaryPacket::counts_records_

Definition at line 162 of file FiberTrackerRawDecoder.cxx.

◆ counts_records_with_zero_events_

long int packing::FiberTrackerBinaryPacket::counts_records_with_zero_events_

Definition at line 163 of file FiberTrackerRawDecoder.cxx.

◆ counts_trigs_

long int packing::FiberTrackerBinaryPacket::counts_trigs_

Definition at line 164 of file FiberTrackerRawDecoder.cxx.

◆ cycle_name_

std::string packing::FiberTrackerBinaryPacket::cycle_name_

Definition at line 165 of file FiberTrackerRawDecoder.cxx.

◆ cycle_stamp_

long int packing::FiberTrackerBinaryPacket::cycle_stamp_

Definition at line 166 of file FiberTrackerRawDecoder.cxx.

◆ equipment_name_

std::string packing::FiberTrackerBinaryPacket::equipment_name_

Definition at line 167 of file FiberTrackerRawDecoder.cxx.

◆ event_selection_acq_

int packing::FiberTrackerBinaryPacket::event_selection_acq_

Definition at line 168 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 172 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 174 of file FiberTrackerRawDecoder.cxx.

174{0};

Referenced by read().

◆ mean_s_new_

double packing::FiberTrackerBinaryPacket::mean_s_new_

Definition at line 176 of file FiberTrackerRawDecoder.cxx.

◆ message_

std::string packing::FiberTrackerBinaryPacket::message_

Definition at line 177 of file FiberTrackerRawDecoder.cxx.

◆ profile_

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

Definition at line 178 of file FiberTrackerRawDecoder.cxx.

◆ profile_stand_alone_

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

Definition at line 179 of file FiberTrackerRawDecoder.cxx.

◆ time_first_event_

std::string packing::FiberTrackerBinaryPacket::time_first_event_

Definition at line 180 of file FiberTrackerRawDecoder.cxx.

◆ time_first_trigger_

std::string packing::FiberTrackerBinaryPacket::time_first_trigger_

Definition at line 181 of file FiberTrackerRawDecoder.cxx.

◆ time_last_event_

std::string packing::FiberTrackerBinaryPacket::time_last_event_

Definition at line 182 of file FiberTrackerRawDecoder.cxx.

◆ time_last_trigger_

std::string packing::FiberTrackerBinaryPacket::time_last_trigger_

Definition at line 183 of file FiberTrackerRawDecoder.cxx.

◆ trigger_

int packing::FiberTrackerBinaryPacket::trigger_

Definition at line 184 of file FiberTrackerRawDecoder.cxx.

◆ trigger_offset_acq_

int packing::FiberTrackerBinaryPacket::trigger_offset_acq_

Definition at line 185 of file FiberTrackerRawDecoder.cxx.

◆ trigger_selection_acq_

int packing::FiberTrackerBinaryPacket::trigger_selection_acq_

Definition at line 186 of file FiberTrackerRawDecoder.cxx.


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