42 using ExtraDig = std::vector<itsmft::PreDigitLabelRef>;
45 void setDigits(std::vector<o2::itsmft::Digit>* dig) { mDigits = dig; }
57 void process(
const std::vector<itsmft::Hit>* hits,
int evID,
int srcID);
79 mEventROFrameMin = 0xffffffff;
86 void processHit(
const o2::itsmft::Hit& hit, uint32_t& maxFr,
int evID,
int srcID);
90 ExtraDig* getExtraDigBuffer(uint32_t roFrame)
92 if (mROFrameMin > roFrame) {
95 int ind = roFrame - mROFrameMin;
96 while (ind >=
int(mExtraBuff.size())) {
97 mExtraBuff.emplace_back(std::make_unique<ExtraDig>());
99 return mExtraBuff[ind].get();
106 int getNCols(
int subDetID,
int layer)
109 return constants::VD::petal::layer::nCols;
110 }
else if (subDetID == 1 &&
layer <= 3) {
112 }
else if (subDetID == 1 &&
layer >= 4) {
122 int getNRows(
int subDetID,
int layer)
125 return constants::VD::petal::layer::nRows[
layer];
126 }
else if (subDetID == 1 &&
layer <= 3) {
128 }
else if (subDetID == 1 &&
layer >= 4) {
134 static constexpr float sec2ns = 1e9;
139 double mCollisionTimeWrtROF{};
140 uint32_t mROFrameMin = 0;
141 uint32_t mROFrameMax = 0;
142 uint32_t mNewROFrame = 0;
144 uint32_t mEventROFrameMin = 0xffffffff;
145 uint32_t mEventROFrameMax = 0;
147 int mNumberOfChips = 0;
154 std::string mResponseFile =
"$(O2_ROOT)/share/Detectors/Upgrades/ITS3/data/ITS3ChipResponseData/APTSResponseData.root";
156 bool mSimRespOrientation{
false};
157 float mSimRespVDShift{0.f};
158 float mSimRespVDScaleX{1.f};
159 float mSimRespVDScaleZ{1.f};
160 float mSimRespMLOTShift{0.f};
161 float mSimRespMLOTScaleX{1.f};
162 float mSimRespMLOTScaleZ{1.f};
163 float mSimRespVDScaleDepth{1.f};
164 float mSimRespMLOTScaleDepth{1.f};
168 std::vector<o2::trk::ChipDigitsContainer> mChips;
169 std::deque<std::unique_ptr<ExtraDig>> mExtraBuff;
171 std::vector<o2::itsmft::Digit>* mDigits =
nullptr;
172 std::vector<o2::itsmft::ROFRecord>* mROFRecords =
nullptr;