Skip to content

HERMES structures

Alexander Long edited this page Mar 10, 2024 · 1 revision

DATA STRUCTURES

These are the main data structures that HERMES utilizes. Please reference these if you want to read any of the binary outputs

Raw signal data (for [fileName].rawSignals)

// Represents the data for a single raw signal.
struct signalData {
    uint32_t bufferNumber;  // Buffer number from where signal was recorded
    uint8_t signalType;     // Type of the signal (TDC=1,Pixel=2,GTS=3)
    uint8_t xPixel;         // X-coordinate of the pixel
    uint8_t yPixel;         // Y-coordinate of the pixel
    double ToaFinal;        // Time of Arrival in seconds (final value)
    uint16_t TotFinal;      // Time over Threshold in nano seconds (final value)
    uint32_t groupID;       // Group ID for clustering. 
};

Photon data (for [fileName].photons)

// Represents the data for a single reconstructed photon.
struct photonData{
    float photonX = 0;
    float photonY = 0;
    double photonToa = 0;
    uint16_t integratedTot = 0;
    uint8_t multiplicity = 0;
};
Clone this wiki locally