]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSChannelDaSSD.h
For Pythia with tune don't switch off MI in ConfigHeavyFlavor
[u/mrichter/AliRoot.git] / ITS / AliITSChannelDaSSD.h
index d40dd9848a5bab075e931a764a866e6de4ee3c01..3408ab0ecb659732893c6955df3f4bd5347872a3 100644 (file)
@@ -1,11 +1,22 @@
 #ifndef ALIITSCHANNELDASSD_H
 #define ALIITSCHANNELDASSD_H
 
+/* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+/*                                                                        */
+/* $Id$ */
+
+///////////////////////////////////////////////////////////////////////////////
+///
+/// This class provides storage container ITS SSD channel callibration data
+/// used by DA. 
+///
+///////////////////////////////////////////////////////////////////////////////
 
-#include <iostream>
 #include "TMath.h"
 #include "TObject.h"
 
+
 class AliITSChannelDaSSD : public TObject {
   public :
     AliITSChannelDaSSD();
@@ -18,23 +29,26 @@ class AliITSChannelDaSSD : public TObject {
     UShort_t  GetStripId() const { return fStripId; }
     Long_t    GetEventsNumber() const { return fEventsNumber; }
     Short_t*  GetSignal()  const { return fSignal; }
-    Short_t*  GetSignal(const Long_t eventnumber)  const 
-                                { return (eventnumber < fEventsNumber && fSignal) ? (fSignal+eventnumber) : NULL; }
+    Short_t   GetSignal(const Long_t eventnumber)  const 
+                           { return (eventnumber < fEventsNumber && fSignal) ? *(fSignal+eventnumber) : fgkDefaultSignal; }
     
     Float_t  GetPedestal() const { return fPedestal; }
-    Float_t  GetNoise()    const { return fNoise; }
-    Bool_t   CheckNoise()  const { return (fNoise < fgkUndefinedValue) ? kTRUE : kFALSE; }
+    Float_t  GetNoise()    const { return fNoise;    }
+    Float_t  GetNoiseCM()  const { return fNoiseCM;  }
+    Long_t   GetOverflowNumber() const { return fNOverflowEv; }
+    Bool_t   CheckNoise()   const { return (fNoise < fgkUndefinedValue) ? kTRUE : kFALSE; }
+    Bool_t   CheckNoiseCM() const { return (fNoiseCM < fgkUndefinedValue) ? kTRUE : kFALSE; }
 
-    UChar_t  GetFeeOffset() const { return (fPedestal < fgkUndefinedValue) ? (static_cast<UChar_t>(TMath::Nint(fPedestal))) : 0; }
-    UChar_t  GetFeeZs()     const { return (fNoise < fgkUndefinedValue) ? 
-                                                    (static_cast<UChar_t>(fZsThresholdFactor * TMath::Nint(fNoise))) : 0;      }
     Bool_t    SetEvenetsNumber(const Long_t eventsnumber);
     Bool_t    SetSignal(const Long_t eventnumber, const Short_t signal);
     void      SetStripId(const UShort_t stripId) { fStripId = stripId; }
 
     void      SetPedestal(Float_t pedestal) { fPedestal = pedestal; }
-    void      SetNoise(Float_t noise) { fNoise = noise; }
+    void      SetNoise(Float_t noise)   { fNoise = noise; }
+    void      SetNoiseCM(Float_t noise) { fNoiseCM = noise; }
+    void      SetOverflowNumber(Long_t ovn) {fNOverflowEv = ovn; }
     void      ClearNoise() { if (fNoise < fgkUndefinedValue) fNoise = fgkUndefinedValue; }
+    void      ClearNoiseCM() { if (fNoiseCM < fgkUndefinedValue) fNoiseCM = fgkUndefinedValue; }
     void      ClearPedestal() { if (fPedestal < fgkUndefinedValue) fPedestal = fgkUndefinedValue; }
     void      ClearSignal() { if (fSignal) for (Int_t i = 0; i < fEventsNumber; i++) 
                                              fSignal[i] = 0x100 * fgkDefaultSignal + fgkDefaultSignal; }
@@ -43,27 +57,27 @@ class AliITSChannelDaSSD : public TObject {
     static  Short_t  GetOverflowConst()  { return fgkSignalOverflow;  }
     static  Short_t  GetUnderflowConst() { return fgkSignalUnderflow; }
     static  Float_t  GetUndefinedValue() { return fgkUndefinedValue;  }
+    static  Short_t  GetMaxStripIdConst(){ return fgkMaxStripId;      }
 
   protected :
-  
-    static const UShort_t fgkMinStripId = 0;
-    static const UShort_t fgkMaxStripId = 1535;
+    static const Short_t fgkMinStripId;         // minimum strip id
+    static const Short_t fgkMaxStripId;         // maximum strip id
 
-    static const Short_t  fgkSignalOverflow  = 2047;
-    static const Short_t  fgkSignalUnderflow = 2048;
-    static const UShort_t fgkDefaultSignal   = 0x7F;
-    static const Float_t  fgkUndefinedValue;
+    static const Short_t  fgkSignalOverflow;     // ADC overflow value
+    static const Short_t  fgkSignalUnderflow;    // ADC underflow value
+    static const UShort_t fgkDefaultSignal;      // initialization value for fNoise, fPedestal, fSignal[i]
+    static const Float_t  fgkUndefinedValue;     // constant value which indicates that fNoise, fPedestal is undefined
+  
     UShort_t          fStripId;             //  channel = strip number within SSD module 0-1535
     Long_t            fEventsNumber;        //  number of events for fSignal memory allocation
-    Short_t          *fSignal;              //! 
+    Short_t          *fSignal;              //! array of signal data
     
-    Float_t           fPedestal;
-    Float_t           fNoise;
-    Float_t           fZsThresholdFactor;   //  factor for zero suppression threshold
-
-    ClassDef(AliITSChannelDaSSD, 1)
+    Float_t           fPedestal;            //  pedestal
+    Float_t           fNoise;               //  noise
+    Float_t           fNoiseCM;             //  noise with CM correction
+    Long_t            fNOverflowEv;         //  Number of events which exceed the pedestal calculation threshold
+                     
+    ClassDef(AliITSChannelDaSSD, 3)
 };
 
 #endif