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);
68 mIsBeforeFirstRO =
false;
81 mEventROFrameMin = 0xffffffff;
88 void processHit(
const o2::trk::Hit& hit, uint32_t& maxFr,
int evID,
int srcID,
int rofLayer);
92 ExtraDig* getExtraDigBuffer(uint32_t roFrame)
94 if (mROFrameMin > roFrame) {
97 int ind = roFrame - mROFrameMin;
98 while (ind >=
int(mExtraBuff.size())) {
99 mExtraBuff.emplace_back(std::make_unique<ExtraDig>());
101 return mExtraBuff[ind].get();
108 int getNCols(
int subDetID,
int layer)
111 return constants::VD::petal::layer::nCols;
112 }
else if (subDetID == 1) {
122 int getNRows(
int subDetID,
int layer)
125 return constants::VD::petal::layer::nRows[
layer];
126 }
else if (subDetID == 1) {
132 static constexpr float sec2ns = 1e9;
137 double mCollisionTimeWrtROF{};
138 uint32_t mROFrameMin = 0;
139 uint32_t mROFrameMax = 0;
140 uint32_t mNewROFrame = 0;
142 bool mIsBeforeFirstRO =
false;
144 uint32_t mEventROFrameMin = 0xffffffff;
145 uint32_t mEventROFrameMax = 0;
147 int mNumberOfChips = 0;
153 std::string mRespName;
155 bool mSimRespOrientation{
false};
156 float mSimRespVDShift{0.f};
157 float mSimRespVDScaleX{1.f};
158 float mSimRespVDScaleZ{1.f};
159 float mSimRespMLOTShift{0.f};
160 float mSimRespMLOTScaleX{1.f};
161 float mSimRespMLOTScaleZ{1.f};
162 float mSimRespVDScaleDepth{1.f};
163 float mSimRespMLOTScaleDepth{1.f};
167 std::vector<o2::trk::ChipDigitsContainer> mChips;
168 std::deque<std::unique_ptr<ExtraDig>> mExtraBuff;
170 std::vector<o2::itsmft::Digit>* mDigits =
nullptr;
171 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.