42 using ExtraDig = std::vector<itsmft::PreDigitLabelRef>;
47 void setDigits(std::vector<o2::itsmft::Digit>* dig) { mDigits = dig; }
57 void process(
const std::vector<itsmft::Hit>* hits,
int evID,
int srcID);
76 mEventROFrameMin = 0xffffffff;
83 void processHit(
const o2::itsmft::Hit& hit, uint32_t& maxFr,
int evID,
int srcID);
87 ExtraDig* getExtraDigBuffer(uint32_t roFrame)
89 if (mROFrameMin > roFrame) {
92 int ind = roFrame - mROFrameMin;
93 while (ind >=
int(mExtraBuff.size())) {
94 mExtraBuff.emplace_back(std::make_unique<ExtraDig>());
96 return mExtraBuff[ind].get();
99 static constexpr float sec2ns = 1e9;
104 double mCollisionTimeWrtROF{};
105 uint32_t mROFrameMin = 0;
106 uint32_t mROFrameMax = 0;
107 uint32_t mNewROFrame = 0;
109 uint32_t mEventROFrameMin = 0xffffffff;
110 uint32_t mEventROFrameMax = 0;
112 static constexpr std::array<o2::its3::SegmentationMosaix, 3> mIBSegmentations{0, 1, 2};
116 bool mSimRespIBOrientation{
false};
117 float mSimRespIBShift{0.f};
118 float mSimRespIBScaleX{1.f};
119 float mSimRespIBScaleZ{1.f};
120 float mSimRespOBShift{0.f};
124 std::vector<o2::its3::ChipDigitsContainer> mChips;
125 std::deque<std::unique_ptr<ExtraDig>> mExtraBuff;
127 std::vector<o2::itsmft::Digit>* mDigits =
nullptr;
128 std::vector<o2::itsmft::ROFRecord>* mROFRecords =
nullptr;
133 ClassDef(Digitizer, 5);