Added macro to lauch TOF QA task with extended functionality via plugin
[u/mrichter/AliRoot.git] / TOF / AliTOFdigit.h
1 #ifndef ALITOFDIGIT_H
2 #define ALITOFDIGIT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ////////////////////////////////////////////////
7 //                                            //
8 //  Digit class for TOF                       //
9 //  Interface                                 //
10 //  Getters, Setters and member variables     //
11 //  declared here                             //
12 //                                            //
13 ////////////////////////////////////////////////
14
15 /* $Id$ */
16
17 #include "AliDigit.h"
18 using std::ostream;
19
20 class AliTOFdigit : public AliDigit {
21   
22   //overloading of the streamer << operator
23   friend ostream& operator << (ostream &, const AliTOFdigit&) ;
24
25  public:
26  AliTOFdigit();
27   AliTOFdigit(Int_t* tracks, Int_t* vol, Int_t* digit);
28 // new ctor for sdigits
29   AliTOFdigit(Int_t sector, Int_t plate, Int_t strip, Int_t padx, Int_t padz, Int_t tdc, Int_t adc);
30 // copy ctor
31   AliTOFdigit(const AliTOFdigit & digit) ;
32   virtual ~AliTOFdigit(){}
33   void            GetLocation(Int_t* Loc) const;
34   Int_t           GetTotPad() const;
35   void            AddTrack(Int_t track);
36   // getters for AliTOFdigit object 
37   Int_t   GetTdc()    const     {return fTdc;}
38   Int_t   GetTdcND()  const     {return fTdcND;}
39   Int_t   GetAdc()    const     {return fAdc;}
40   Int_t   GetToT()    const     {return fToT;}  //Time Over Threshold
41   Int_t   GetSector() const     {return fSector;}
42   Int_t   GetPlate()  const     {return fPlate;}
43   Int_t   GetStrip()  const     {return fStrip;}
44   Int_t   GetPadx()   const     {return fPadx;}
45   Int_t   GetPadz()   const     {return fPadz;}
46
47   // setters for AliTOFdigit object
48   void    SetTdc(Int_t TDC){fTdc = TDC;}
49   void    SetTdcND(Int_t TDCND){fTdcND = TDCND;}
50   void    SetAdc(Int_t ADC){fAdc = ADC;}
51   void    SetToT(Int_t ToT) {fToT=ToT;}
52
53   //overloading of ==, + operators (summable digits)
54   
55   Bool_t operator==(const AliTOFdigit& digit) const;
56   AliTOFdigit operator+(const AliTOFdigit &digit) ;  
57
58
59 protected:
60   Int_t   fSector;  // number of sector
61   Int_t   fPlate;   // number of plate
62   Int_t   fStrip;   // number of strip
63   Int_t   fPadx;    // number of pad along x
64   Int_t   fPadz;    // number of pad along z
65   Int_t   fTdc;     // tdc channel value, to be multiplied by
66                     // AliTOFGeometry::TdcBinWidth() to have the
67                     // time-of-flight measurement
68   Int_t   fTdcND;   // simulated (non slewed) time signal
69   Int_t   fAdc;     // adc channel value, to be multiplie by
70                     // AliTOFSDigitizer::GetAdcBin() to have the
71                     // 'charge' measurement
72   Int_t   fToT;     // simulated ToT
73
74  private:
75   AliTOFdigit &operator=(const AliTOFdigit& digit);
76
77   ClassDef(AliTOFdigit,5)  // Digit for Time Of Flight
78 };
79
80 #endif /* ALITOFDIGIT_H */