42 using ExtraDig = std::vector<itsmft::PreDigitLabelRef>;
45 void setDigits(std::vector<o2::itsmft::Digit>* dig) { mDigits = dig; }
58 void process(
const std::vector<o2::trk::Hit>* hits,
int evID,
int srcID,
int layer);
77 LOG(info) <<
"trk::Digizer set geom";
85 mEventROFrameMin = 0xffffffff;
92 void processHit(
const o2::trk::Hit& hit, uint32_t& maxFr,
int evID,
int srcID,
int rofLayer);
96 ExtraDig* getExtraDigBuffer(uint32_t roFrame)
98 if (mROFrameMin > roFrame) {
101 int ind = roFrame - mROFrameMin;
102 while (ind >=
int(mExtraBuff.size())) {
103 mExtraBuff.emplace_back(std::make_unique<ExtraDig>());
105 return mExtraBuff[ind].get();
112 int getNCols(
int subDetID,
int layer)
115 return constants::VD::petal::layer::nCols;
116 }
else if (subDetID == 1 || subDetID == 2) {
126 int getNRows(
int subDetID,
int layer)
129 return constants::VD::petal::layer::nRows[
layer];
130 }
else if (subDetID == 1 || subDetID == 2) {
136 static constexpr float sec2ns = 1e9;
141 double mCollisionTimeWrtROF{};
142 uint32_t mROFrameMin = 0;
143 uint32_t mROFrameMax = 0;
144 uint32_t mNewROFrame = 0;
146 int mROFsWrtFirstRO = 0;
148 uint32_t mEventROFrameMin = 0xffffffff;
149 uint32_t mEventROFrameMax = 0;
151 int mNumberOfChips = 0;
157 std::string mRespName;
159 bool mSimRespOrientation{
false};
160 float mSimRespVDShift{0.f};
161 float mSimRespVDScaleX{1.f};
162 float mSimRespVDScaleZ{1.f};
163 float mSimRespMLOTShift{0.f};
164 float mSimRespMLOTScaleX{1.f};
165 float mSimRespMLOTScaleZ{1.f};
166 float mSimRespVDScaleDepth{1.f};
167 float mSimRespMLOTScaleDepth{1.f};
171 std::vector<o2::trk::ChipDigitsContainer> mChips;
172 std::deque<std::unique_ptr<ExtraDig>> mExtraBuff;
174 std::vector<o2::itsmft::Digit>* mDigits =
nullptr;
175 std::vector<o2::itsmft::ROFRecord>* mROFRecords =
nullptr;
void process(const std::vector< o2::trk::Hit > *hits, int evID, int srcID, int layer)
Steer conversion of hits to digits.