41 using ExtraDig = std::vector<itsmft::PreDigitLabelRef>;
44 void setDigits(std::vector<o2::itsmft::Digit>* dig) { mDigits = dig; }
54 void process(
const std::vector<itsmft::Hit>* hits,
int evID,
int srcID);
73 mEventROFrameMin = 0xffffffff;
80 void processHit(
const o2::itsmft::Hit& hit, uint32_t& maxFr,
int evID,
int srcID);
84 ExtraDig* getExtraDigBuffer(uint32_t roFrame)
86 if (mROFrameMin > roFrame) {
89 int ind = roFrame - mROFrameMin;
90 while (ind >=
int(mExtraBuff.size())) {
91 mExtraBuff.emplace_back(std::make_unique<ExtraDig>());
93 return mExtraBuff[ind].get();
96 static constexpr float sec2ns = 1e9;
101 double mCollisionTimeWrtROF{};
102 uint32_t mROFrameMin = 0;
103 uint32_t mROFrameMax = 0;
104 uint32_t mNewROFrame = 0;
106 uint32_t mEventROFrameMin = 0xffffffff;
107 uint32_t mEventROFrameMax = 0;
109 static constexpr std::array<o2::its3::SegmentationMosaix, 3> mIBSegmentations{0, 1, 2};
113 bool mSimRespIBOrientation{
false};
114 float mSimRespIBShift{0.f};
115 float mSimRespIBScaleX{1.f};
116 float mSimRespIBScaleZ{1.f};
117 float mSimRespOBShift{0.f};
121 std::vector<o2::itsmft::ChipDigitsContainer> mChips;
122 std::deque<std::unique_ptr<ExtraDig>> mExtraBuff;
124 std::vector<o2::itsmft::Digit>* mDigits =
nullptr;
125 std::vector<o2::itsmft::ROFRecord>* mROFRecords =
nullptr;
130 ClassDef(Digitizer, 5);