]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCDigit.h
Fix in procedure for vertex recalculation
[u/mrichter/AliRoot.git] / ZDC / AliZDCDigit.h
index ee662b44ee2142a67a4e0af4fe410555c6630c52..606bc9612879f5a404296ff72eca218d5d480cea 100644 (file)
@@ -3,56 +3,58 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-//_________________________________________________________________________
+//**********************************************************************
 //
+//             Class for ZDC digit 
+//           ADC Channels for each PM 
+//        5 for hadronic ZDCs 1 for EM ZDCs
 //
-//   ZDC digit = ADC Channels for each PM 
-//
-//_________________________________________________________________________
+//**********************************************************************
 
-#include "AliDigitNew.h"
+#include<TObject.h>
 
-class AliZDCDigit : public AliDigitNew {
+class AliZDCDigit : public TObject {
 
  public:
   
   AliZDCDigit() ;
-  AliZDCDigit(Int_t *Sector, Int_t ADCValue);
+  AliZDCDigit(Int_t *Sector, Int_t *ADCValue);
   AliZDCDigit(const AliZDCDigit & digit);
   virtual ~AliZDCDigit() {}
 
   // Getters 
-  virtual Int_t   GetSector(Int_t i) {return fSector[i];}
-  virtual Int_t   GetADCValue()      {return fADCValue;}
+  Int_t   GetSector(Int_t i)     {return fSector[i];}
+  Int_t   GetADCValue(Int_t i)    {return fADCValue[i];}
 
   // Operators
-  Int_t operator == (AliZDCDigit &digit) {
-    // Two digits are equal if they refers to the detector
-    // in the same sub-volume (same procedure as for hits)
+  // Two digits are equal if they refers to the detector
+  // in the same sub-volume (same procedure as for hits)
+  Int_t operator == (AliZDCDigit &digit){
     Int_t i;
     for(i=0; i<2; i++) if(fSector[i]!=digit.GetSector(i)) return 0;
     return 1;
   }
-  virtual AliZDCDigit& operator + (AliZDCDigit &digit) {
-    // Adds the amplitude of digits 
-    fADCValue += digit.fADCValue ;
-    return *this ;
+  // Adds the amplitude of digits 
+  virtual AliZDCDigit operator + (AliZDCDigit &digit){
+    for(Int_t i = 0; i < 2; i++) fADCValue[i] += digit.fADCValue[i];
+    return *this;
+  }
+
+  // Print method
+  virtual void Print(Option_t *) const {
+     printf("\t AliZDCDigit -> Detector %d Quadrant %d: ADC HighGain=  %d ADC LowGain=  %d\n ",
+     fSector[0], fSector[1], fADCValue[0], fADCValue[1]);
   }
   
  protected:
 
   //Data members
   Int_t  fSector[2];         // Detector and tower in which light is produced
-  Int_t  fADCValue;          // ADC channel value
-
-  // Print method
-  virtual void Print(Option_t *) {
-     printf(" -> DIGIT: Detector =  %d Quadrant =  %d ADCCh =  %d\n ",
-     fSector[0], fSector[1], fADCValue);
-  }
+  Int_t  fADCValue[2];       // ADC channel value (0 = high gain, 1 = low gain)
     
-  ClassDef(AliZDCDigit,1)   // Digits in ZDC 
+  ClassDef(AliZDCDigit,4)   // Digits in ZDC 
 
 } ;
 
 #endif //  ALIZDCDIGIT_H
+