2021-07-14 11:54:17 -04:00
|
|
|
/*DataStructs.h
|
|
|
|
*Data structures for analysis. To be implemented as a dictionary for ROOT in LinkDef
|
|
|
|
*Based on: FocalPlane_SABRE.h
|
|
|
|
*Gordon M. Oct. 2019
|
|
|
|
*/
|
|
|
|
#ifndef DATA_STRUCTS_H
|
|
|
|
#define DATA_STRUCTS_H
|
|
|
|
|
2022-04-27 10:33:03 -04:00
|
|
|
#include <vector>
|
|
|
|
#include <cstdint>
|
2021-07-14 11:54:17 -04:00
|
|
|
|
2022-04-27 10:33:03 -04:00
|
|
|
struct DPPChannel
|
|
|
|
{
|
|
|
|
double Timestamp;
|
|
|
|
int Channel, Board, Energy, EnergyShort;
|
|
|
|
int Flags;
|
|
|
|
std::vector<uint16_t> Samples;
|
2021-07-14 11:54:17 -04:00
|
|
|
};
|
|
|
|
|
2022-04-27 10:33:03 -04:00
|
|
|
/*
|
|
|
|
ROOT does a bad job of ensuring that header-only type dictionaries (the only type they explicity accept)
|
|
|
|
are linked when compiled as shared libraries (the recommended method). As a work around, a dummy function that
|
|
|
|
ensures the library is linked (better than no-as-needed which I dont think is in general supported across platforms)
|
|
|
|
*/
|
|
|
|
bool EnforceDictonaryLinked();
|
|
|
|
|
2021-07-14 11:54:17 -04:00
|
|
|
#endif
|