@@ -32,6 +32,7 @@ class Digit
3232 Digit () = default ;
3333
3434 Digit (Int_t channel, Int_t tdc, Int_t tot, uint64_t bc, Int_t label = -1 , uint32_t triggerorbit = 0 , uint16_t triggerbunch = 0 );
35+ Digit (Int_t channel, Int_t tdc, Int_t tot, uint32_t orbit, uint16_t bc, Int_t label = -1 , uint32_t triggerorbit = 0 , uint16_t triggerbunch = 0 );
3536 ~Digit () = default ;
3637
3738 // / Get global ordering key made of
@@ -41,7 +42,7 @@ class Digit
4142 }
4243 ULong64_t getOrderingKey ()
4344 {
44- return getOrderingKey (mChannel , mBC , mTDC );
45+ return getOrderingKey (mChannel , mIR . toLong () , mTDC );
4546 }
4647
4748 Int_t getChannel () const { return mChannel ; }
@@ -53,8 +54,8 @@ class Digit
5354 uint16_t getTOT () const { return mTOT ; }
5455 void setTOT (uint16_t tot) { mTOT = tot; }
5556
56- uint64_t getBC () const { return mBC ; }
57- void setBC (uint64_t bc) { mBC = bc ; }
57+ uint64_t getBC () const { return mIR . toLong () ; }
58+ void setBC (uint64_t bc) { mIR . setFromLong (bc) ; }
5859
5960 Int_t getLabel () const { return mLabel ; }
6061 void setLabel (Int_t label) { mLabel = label; }
@@ -91,19 +92,19 @@ class Digit
9192 private:
9293 friend class boost ::serialization::access;
9394
94- Double_t mCalibratedTime ; // !< time of the digits after calibration (not persistent; it will be filled during clusterization)
9595 Int_t mChannel ; // /< TOF channel index
9696 uint16_t mTDC ; // /< TDC bin number
9797 uint16_t mTOT ; // /< TOT bin number
98- uint64_t mBC ; // /< Bunch Crossing // RS: since it is used as absolute bunch counter from orbit 0, it has to be 64 bits
98+ InteractionRecord mIR { 0 , 0 }; // /< InteractionRecord ( orbit and bc) when digit occurs
9999 Int_t mLabel ; // /< Index of the corresponding entry in the MC label array
100+ Double_t mCalibratedTime ; // !< time of the digits after calibration (not persistent; it will be filled during clusterization)
100101 Int_t mElectronIndex ; // !/< index in electronic format
101102 uint32_t mTriggerOrbit = 0 ; // !< orbit id of trigger event // RS: orbit must be 32bits long
102103 uint16_t mTriggerBunch = 0 ; // !< bunch id of trigger event
103104 Bool_t mIsUsedInCluster ; // !/< flag to declare that the digit was used to build a cluster
104105 Bool_t mIsProblematic = false ; // !< flag to tell whether the channel of the digit was problemati; not persistent; default = ok
105106
106- ClassDefNV (Digit, 3 );
107+ ClassDefNV (Digit, 4 );
107108};
108109
109110std::ostream& operator <<(std::ostream& stream, const Digit& dig);
0 commit comments