LCOV - code coverage report
Current view: top level - ITS/ITSbase - AliITSChannelDaSSD.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 26 3.8 %
Date: 2016-06-14 17:26:59 Functions: 1 29 3.4 %

          Line data    Source code
       1             : #ifndef ALIITSCHANNELDASSD_H
       2             : #define ALIITSCHANNELDASSD_H
       3             : 
       4             : /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
       5             :  * See cxx source for full Copyright notice                               */
       6             : /*                                                                        */
       7             : /* $Id$ */
       8             : 
       9             : ///////////////////////////////////////////////////////////////////////////////
      10             : ///
      11             : /// This class provides storage container ITS SSD channel callibration data
      12             : /// used by DA. 
      13             : ///
      14             : ///////////////////////////////////////////////////////////////////////////////
      15             : 
      16             : #include "TObject.h"
      17             : 
      18             : 
      19             : class AliITSChannelDaSSD : public TObject {
      20             :   public :
      21             :     AliITSChannelDaSSD();
      22             :     explicit AliITSChannelDaSSD(const UShort_t stripId);
      23             :     AliITSChannelDaSSD(const UShort_t stripId, const Long_t eventsnumber);
      24             :     AliITSChannelDaSSD(const AliITSChannelDaSSD& strip);
      25             :     AliITSChannelDaSSD& operator = (const AliITSChannelDaSSD& strip);
      26             :     virtual ~AliITSChannelDaSSD();
      27             :     
      28           0 :     UShort_t  GetStripId() const { return fStripId; }
      29           0 :     Long_t    GetEventsNumber() const { return fEventsNumber; }
      30           0 :     Short_t*  GetSignal()  const { return fSignal; }
      31             :     Short_t   GetSignal(const Long_t eventnumber)  const 
      32           0 :                            { return (eventnumber < fEventsNumber && fSignal) ? *(fSignal+eventnumber) : fgkDefaultSignal; }
      33             :     
      34           0 :     Float_t  GetPedestal() const { return fPedestal; }
      35           0 :     Float_t  GetNoise()    const { return fNoise;    }
      36           0 :     Float_t  GetNoiseCM()  const { return fNoiseCM;  }
      37           0 :     Long_t   GetOverflowNumber() const { return fNOverflowEv; }
      38           0 :     Bool_t   CheckNoise()   const { return (fNoise < fgkUndefinedValue) ? kTRUE : kFALSE; }
      39           0 :     Bool_t   CheckNoiseCM() const { return (fNoiseCM < fgkUndefinedValue) ? kTRUE : kFALSE; }
      40             : 
      41             :     Bool_t    SetEvenetsNumber(const Long_t eventsnumber);
      42             :     Bool_t    SetSignal(const Long_t eventnumber, const Short_t signal);
      43           0 :     void      SetStripId(const UShort_t stripId) { fStripId = stripId; }
      44             : 
      45           0 :     void      SetPedestal(Float_t pedestal) { fPedestal = pedestal; }
      46           0 :     void      SetNoise(Float_t noise)   { fNoise = noise; }
      47           0 :     void      SetNoiseCM(Float_t noise) { fNoiseCM = noise; }
      48           0 :     void      SetOverflowNumber(Long_t ovn) {fNOverflowEv = ovn; }
      49           0 :     void      ClearNoise() { if (fNoise < fgkUndefinedValue) fNoise = fgkUndefinedValue; }
      50           0 :     void      ClearNoiseCM() { if (fNoiseCM < fgkUndefinedValue) fNoiseCM = fgkUndefinedValue; }
      51           0 :     void      ClearPedestal() { if (fPedestal < fgkUndefinedValue) fPedestal = fgkUndefinedValue; }
      52           0 :     void      ClearSignal() { if (fSignal) for (Int_t i = 0; i < fEventsNumber; i++) 
      53           0 :                                              fSignal[i] = 0x100 * fgkDefaultSignal + fgkDefaultSignal; }
      54           0 :     void      DeleteSignal() { if (fSignal) { delete [] fSignal; fSignal = NULL; fEventsNumber = 0;} }
      55             : 
      56           0 :     static  Short_t  GetOverflowConst()  { return fgkSignalOverflow;  }
      57           0 :     static  Short_t  GetUnderflowConst() { return fgkSignalUnderflow; }
      58           0 :     static  Float_t  GetUndefinedValue() { return fgkUndefinedValue;  }
      59           0 :     static  Short_t  GetMaxStripIdConst(){ return fgkMaxStripId;      }
      60             : 
      61             :   protected :
      62             :     static const Short_t fgkMinStripId;         // minimum strip id
      63             :     static const Short_t fgkMaxStripId;         // maximum strip id
      64             : 
      65             :     static const Short_t  fgkSignalOverflow;     // ADC overflow value
      66             :     static const Short_t  fgkSignalUnderflow;    // ADC underflow value
      67             :     static const UShort_t fgkDefaultSignal;      // initialization value for fNoise, fPedestal, fSignal[i]
      68             :     static const Float_t  fgkUndefinedValue;     // constant value which indicates that fNoise, fPedestal is undefined
      69             :   
      70             :     UShort_t          fStripId;             //  channel = strip number within SSD module 0-1535
      71             :     Long_t            fEventsNumber;        //  number of events for fSignal memory allocation
      72             :     Short_t          *fSignal;              //! array of signal data
      73             :     
      74             :     Float_t           fPedestal;            //  pedestal
      75             :     Float_t           fNoise;               //  noise
      76             :     Float_t           fNoiseCM;             //  noise with CM correction
      77             :     Long_t            fNOverflowEv;         //  Number of events which exceed the pedestal calculation threshold
      78             :                       
      79         118 :     ClassDef(AliITSChannelDaSSD, 3)
      80             : };
      81             : 
      82             : #endif

Generated by: LCOV version 1.11