12#ifndef ALICEO2_TOF_DIGIT_H_
13#define ALICEO2_TOF_DIGIT_H_
22#include <boost/serialization/base_object.hpp>
35 Digit(Int_t channel, Int_t tdc, Int_t tot, uint64_t
bc, Int_t
label = -1, uint32_t triggerorbit = 0, uint16_t triggerbunch = 0,
float geanttime = 0,
double t0 = 0);
36 Digit(Int_t channel, Int_t tdc, Int_t tot, uint32_t
orbit, uint16_t
bc, Int_t
label = -1, uint32_t triggerorbit = 0, uint16_t triggerbunch = 0,
float geanttime = 0,
double t0 = 0);
42 return ((
static_cast<ULong64_t
>(
bc) << 18) + channel);
52 uint16_t
getTDC()
const {
return mTDC; }
53 void setTDC(uint16_t tdc) { mTDC = tdc; }
55 uint16_t
getTOT()
const {
return mTOT; }
56 void setTOT(uint16_t tot) { mTOT = tot; }
62 auto getIR()
const {
return mIR; }
69 bool merge(Int_t tdc, Int_t tot);
109 Double_t mCalibratedTime;
110 Int_t mElectronIndex;
111 uint32_t mTriggerOrbit = 0;
112 uint16_t mTriggerBunch = 0;
113 Bool_t mIsUsedInCluster;
114 Bool_t mIsProblematic =
false;
116 double mT0true = 0.0;
118 ClassDefNV(
Digit, 5);
168 return ref.getEntries() ? gsl::span<const Digit>(&tfdata[
ref.getFirstEntry()],
ref.getEntries()) : gsl::span<const Digit>();
Class to refer to the 1st entry and N elements of some group in the continuous container.
TOF digit implementation.
void setTOT(uint16_t tot)
void setTriggerOrbit(uint32_t value)
void setTriggerBunch(uint16_t value)
static ULong64_t getOrderingKey(Int_t channel, uint64_t bc, Int_t)
Get global ordering key made of.
void printStream(std::ostream &stream) const
ULong64_t getOrderingKey()
Int_t getElChIndex() const
Int_t getElTDCIndex() const
Int_t getElChainIndex() const
Int_t getElTRMIndex() const
void setChannel(Int_t channel)
void setTgeant(float val)
void setLabel(Int_t label)
void setIR(const InteractionRecord &ir)
bool isProblematic() const
double getCalibratedTime() const
void setElectronicIndex(Int_t ind)
void setIsUsedInCluster(bool val=true)
void setTDC(uint16_t tdc)
bool merge(Int_t tdc, Int_t tot)
void getPhiAndEtaIndex(int &phi, int &eta) const
Int_t getElectronicIndex() const
uint32_t getTriggerOrbit() const
void setCalibratedTime(Double_t time)
friend class boost::serialization::access
void setIsProblematic(bool flag)
Int_t getElCrateIndex() const
uint16_t getTriggerBunch() const
void setT0true(double val)
Bool_t isUsedInCluster() const
static Int_t getTDCChFromECH(int ech)
static Int_t getTDCFromECH(int ech)
static Int_t getTRMFromECH(int ech)
static Int_t getCrateFromECH(int ech)
static Int_t getChainFromECH(int ech)
GLsizei const GLfloat * value
GLuint GLsizei const GLchar * label
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat t0
std::ostream & operator<<(std::ostream &os, Cluster &c)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
uint16_t bc
bunch crossing ID of interaction
void setFromLong(int64_t l)
void setEventCounter(int ev)
int getDeltaEventCounterCrate(int crate) const
void setDeltaEventCounterCrate(int crate, int ev)
int mDeltaBCCrate[Geo::kNCrate]
void setEmptyCrate(int crate)
void setBCData(int orbit, int bc)
bool isEmptyCrate(int crate) const
void setDeltaBCCrate(int crate, int bc)
const InteractionRecord & getBCData() const
InteractionRecord mFirstIR
void setDiagnosticInCrate(int crate, int val)
int mDeltaEventCounterCrate[Geo::kNCrate]
o2::dataformats::RangeReference< int, int > refDiagnostic
int getDiagnosticInCrate(int crate) const
int mNdiaCrate[Geo::kNCrate]
o2::dataformats::RangeReference< int, int > ref
ReadoutWindowData()=default
void setBCData(InteractionRecord &src)
gsl::span< const Digit > getBunchChannelData(const gsl::span< const Digit > tfdata) const
void setFirstEntry(int first)
ReadoutWindowData(int first, int ne)
int getEventCounter() const
void setFirstEntryDia(int first)
void addedDiagnostic(int crate)
void setNEntriesDia(int ne)
int getDeltaBCCrate(int crate) const
ClassDefNV(ReadoutWindowData, 4)
o2::InteractionRecord ir(0, 0)