@@ -54,8 +54,8 @@ class Digitizer : public TObject
5454 void init ();
5555
5656 // / Steer conversion of hits to digits
57- void process (const std::vector<itsmft::Hit>* hits, int evID, int srcID);
58- void setEventTime (const o2::InteractionTimeRecord& irt);
57+ void process (const std::vector<itsmft::Hit>* hits, int evID, int srcID, int layer );
58+ void setEventTime (const o2::InteractionTimeRecord& irt, int layer );
5959 double getEndTimeOfROFMax () const
6060 {
6161 // /< return the time corresponding to end of the last reserved ROFrame : mROFrameMax
@@ -64,7 +64,7 @@ class Digitizer : public TObject
6464
6565 void setContinuous (bool v) { mParams .setContinuous (v); }
6666 bool isContinuous () const { return mParams .isContinuous (); }
67- void fillOutputContainer (uint32_t maxFrame = 0xffffffff );
67+ void fillOutputContainer (uint32_t maxFrame = 0xffffffff , int layer = - 1 );
6868
6969 // provide the common itsmft::GeometryTGeo to access matrices and segmentation
7070 void setGeometry (const o2::its::GeometryTGeo* gm) { mGeometry = gm; }
@@ -76,13 +76,19 @@ class Digitizer : public TObject
7676 mEventROFrameMin = 0xffffffff ;
7777 mEventROFrameMax = 0 ;
7878 }
79+ void resetROFrameBounds ()
80+ {
81+ mROFrameMin = 0 ;
82+ mROFrameMax = 0 ;
83+ mNewROFrame = 0 ;
84+ }
7985
8086 void setDeadChannelsMap (const o2::itsmft::NoiseMap* mp) { mDeadChanMap = mp; }
8187
8288 private:
83- void processHit (const o2::itsmft::Hit& hit, uint32_t & maxFr, int evID, int srcID);
89+ void processHit (const o2::itsmft::Hit& hit, uint32_t & maxFr, int evID, int srcID, int layer );
8490 void registerDigits (o2::its3::ChipDigitsContainer& chip, uint32_t roFrame, float tInROF, int nROF,
85- uint16_t row, uint16_t col, int nEle, o2::MCCompLabel& lbl);
91+ uint16_t row, uint16_t col, int nEle, o2::MCCompLabel& lbl, int layer );
8692
8793 ExtraDig* getExtraDigBuffer (uint32_t roFrame)
8894 {
@@ -105,6 +111,7 @@ class Digitizer : public TObject
105111 uint32_t mROFrameMin = 0 ; // /< lowest RO frame of current digits
106112 uint32_t mROFrameMax = 0 ; // /< highest RO frame of current digits
107113 uint32_t mNewROFrame = 0 ; // /< ROFrame corresponding to provided time
114+ bool mIsBeforeFirstRO = false ;
108115
109116 uint32_t mEventROFrameMin = 0xffffffff ; // /< lowest RO frame for processed events (w/o automatic noise ROFs)
110117 uint32_t mEventROFrameMax = 0 ; // /< highest RO frame forfor processed events (w/o automatic noise ROFs)
0 commit comments