19#ifndef ALICEO2_IOTOF_DIGITIZER_H
20#define ALICEO2_IOTOF_DIGITIZER_H
53 void setDigits(std::vector<o2::iotof::Digit>* dig) { mDigits = dig; }
61 void process(
const std::vector<o2::itsmft::Hit>* hits,
int evID,
int srcID);
93 void registerDigits(
Chip& chip, uint32_t roFrame,
double time,
int nROF,
97 double smearTime(
double time)
const;
100 int energyToCharge(
float energyLoss)
const;
103 bool isEfficient()
const;
105 std::vector<o2::iotof::McLabelRef>* getExtraLabelBuffer(uint32_t roFrame)
113 while (
index >=
int(mExtraLabelBuffer.size())) {
114 mExtraLabelBuffer.emplace_back(std::make_unique<std::vector<o2::iotof::McLabelRef>>());
116 return mExtraLabelBuffer[
index].get();
119 static constexpr float sec2ns = 1e9f;
123 std::vector<o2::iotof::Chip> mChips;
124 std::deque<std::unique_ptr<std::vector<o2::iotof::McLabelRef>>> mExtraLabelBuffer;
126 std::vector<o2::iotof::Digit>* mDigits =
nullptr;
127 std::vector<o2::itsmft::ROFRecord>* mROFRecords =
nullptr;
132 bool mContinuous =
true;
135 float mChargeThreshold = 100.f;
136 float mTimeResolution = 0.020f;
137 float mEfficiency = 0.98f;
138 float mEnergyToCharge = 3.6e-9f;
142 ClassDefNV(Digitizer, 1);
Definition of the ITSMFT Hit class.
Definition of a container to keep Monte Carlo truth external to simulation objects.
Definition of the Segmentation class.
Container for similated points connected to a given TOF Chip This will be used in order to allow a mo...
Digitizer for the ALICE3 Inner/Outer TOF detector.
void setROFRecords(std::vector< o2::itsmft::ROFRecord > *rec)
void setROFRecordIR(const o2::InteractionRecord &ir)
float getChargeThreshold() const
void init()
Initialize the digitizer.
void setEnergyToCharge(float e2c)
void setTimeResolution(float res)
void fillOutputContainer()
Flush the output container.
void setDigits(std::vector< o2::iotof::Digit > *dig)
void setEfficiency(float eff)
void process(const std::vector< o2::itsmft::Hit > *hits, int evID, int srcID)
Steer conversion of hits to digits.
bool isContinuous() const
void setEventTime(const o2::InteractionTimeRecord &irt)
Set the event time.
void setContinuous(bool v)
Set continuous readout mode.
void setChargeThreshold(float thr)
void setMCLabels(o2::dataformats::MCTruthContainer< o2::MCCompLabel > *mclb)
float getTimeResolution() const
void setGeometry(const o2::iotof::GeometryTGeo *gm)
float getEfficiency() const
GLuint GLsizei const GLchar * label
o2::InteractionRecord ir(0, 0)