42 using ExtraDig = std::vector<itsmft::PreDigitLabelRef>;
45 void setDigits(std::vector<o2::itsmft::Digit>* dig) { mDigits = dig; }
55 void process(
const std::vector<itsmft::Hit>* hits,
int evID,
int srcID);
74 mEventROFrameMin = 0xffffffff;
81 void processHit(
const o2::itsmft::Hit& hit, uint32_t& maxFr,
int evID,
int srcID);
85 ExtraDig* getExtraDigBuffer(uint32_t roFrame)
87 if (mROFrameMin > roFrame) {
90 int ind = roFrame - mROFrameMin;
91 while (ind >=
int(mExtraBuff.size())) {
92 mExtraBuff.emplace_back(std::make_unique<ExtraDig>());
94 return mExtraBuff[ind].get();
97 static constexpr float sec2ns = 1e9;
102 double mCollisionTimeWrtROF{};
103 uint32_t mROFrameMin = 0;
104 uint32_t mROFrameMax = 0;
105 uint32_t mNewROFrame = 0;
107 uint32_t mEventROFrameMin = 0xffffffff;
108 uint32_t mEventROFrameMax = 0;
110 static constexpr std::array<o2::its3::SegmentationMosaix, 3> mIBSegmentations{0, 1, 2};
114 bool mSimRespIBOrientation{
false};
115 float mSimRespIBShift{0.f};
116 float mSimRespIBScaleX{1.f};
117 float mSimRespIBScaleZ{1.f};
118 float mSimRespOBShift{0.f};
122 std::vector<o2::its3::ChipDigitsContainer> mChips;
123 std::deque<std::unique_ptr<ExtraDig>> mExtraBuff;
125 std::vector<o2::itsmft::Digit>* mDigits =
nullptr;
126 std::vector<o2::itsmft::ROFRecord>* mROFRecords =
nullptr;
131 ClassDef(Digitizer, 5);