Added fShiftOffset for the table of primaries in case of standalone event mixing...
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 7 Jan 2002 16:05:04 +0000 (16:05 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 7 Jan 2002 16:05:04 +0000 (16:05 +0000)
Added a test in GetPrimary because numbering starts at 1 (not 0)

PHOS/AliPHOSDigit.cxx
PHOS/AliPHOSDigit.h

index 9ffb54c..9b624fa 100644 (file)
@@ -45,6 +45,7 @@ ClassImp(AliPHOSDigit)
   fIndexInList = -1 ; 
   fNprimary    = 0 ;  
   fNMaxPrimary = 5 ; 
+  fShiftOffset = 10000000 ;
 }
 
 //____________________________________________________________________________
@@ -57,6 +58,7 @@ AliPHOSDigit::AliPHOSDigit(Int_t primary, Int_t id, Int_t digEnergy, Float_t tim
   fTime        = time ;
   fId          = id ;
   fIndexInList = index ; 
+  fShiftOffset = 10000000 ;
   if( primary != -1){
     fNprimary    = 1 ; 
     fPrimary[0]  = primary ;
@@ -78,6 +80,7 @@ AliPHOSDigit::AliPHOSDigit(const AliPHOSDigit & digit)
 
   fNMaxPrimary = digit.fNMaxPrimary ;  
   Int_t i ;
+  fShiftOffset = 10000000 ;
   for ( i = 0; i < fNMaxPrimary ; i++)
     fPrimary[i]  = digit.fPrimary[i] ;
   fAmp         = digit.fAmp ;
@@ -122,7 +125,7 @@ Int_t AliPHOSDigit::GetPrimary(Int_t index) const
 {
   // retrieves the primary particle number given its index in the list 
   Int_t rv = -1 ;
-  if ( index <= fNprimary ){
+  if ( index <= fNprimary && index > 0){
     rv = fPrimary[index-1] ;
   } 
 
@@ -140,7 +143,7 @@ void AliPHOSDigit::ShiftPrimary(Int_t shift)
   //shifts primary number to BIG offset, to separate primary in different TreeK
   Int_t index  ;
   for(index = 0; index <fNprimary; index ++ ){
-    fPrimary[index] = fPrimary[index]+ shift * 10000000   ;
+    fPrimary[index] = fPrimary[index]+ shift * fShiftOffset ;
   } 
 }
 //____________________________________________________________________________
index 785c206..576ad0b 100644 (file)
@@ -53,14 +53,15 @@ class AliPHOSDigit : public AliDigitNew {
     // sets the amplitude data member 
     fAmp=Amp ; } 
   void    SetTime(Float_t Time) {fTime = Time ;}
-  void ShiftPrimary(Int_t shift); // shift to semarate different TreeK in merging
+  void ShiftPrimary(Int_t shift); // shift to separate different TreeK in merging
 
  private:
 
-  Int_t fNprimary ;     // Number of primaries
-  Int_t fNMaxPrimary ;  //! Max Number of primaries
-  Int_t fPrimary[5] ;   // Array of primaries      
-  Float_t fTime ; 
+  Int_t fNprimary ;         // Number of primaries
+  Int_t fNMaxPrimary ;      //! Max Number of primaries
+  Int_t fPrimary[5] ;       // Array of primaries      
+  Int_t fShiftOffset ;      // offset to be applied to the primary article numbering in case of event mixing
+  Float_t fTime ;           // Calculcated time 
     
   ClassDef(AliPHOSDigit,1)   // Digit in PHOS