New AliTRDcluster constructor
[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
19 class AliTOFGeometry;
20
21 class AliTOFdigit : public AliDigit {
22
23   //overloading of the streamer << operator
24 friend ostream& operator << ( ostream& , const AliTOFdigit&) ;
25
26  public:
27  AliTOFdigit();
28   AliTOFdigit(Int_t* tracks, Int_t* vol, Int_t* digit);
29 // new ctor for sdigits
30   AliTOFdigit(Int_t sector, Int_t plate, Int_t strip, Int_t padx, Int_t padz, Int_t tdc, Int_t adc);
31 // copy ctor
32   AliTOFdigit(const AliTOFdigit & digit) ;
33   virtual ~AliTOFdigit(){}
34   void            GetLocation(Int_t* Loc) const;
35   Int_t           GetTotPad(AliTOFGeometry *tofGeom) const;
36   void            AddTrack(Int_t track);
37   // getters for AliTOFdigit object 
38   Int_t   GetTdc()    const     {return fTdc;}
39   Int_t   GetTdcND()  const     {return fTdcND;}
40   Int_t   GetAdc()    const     {return fAdc;}
41   Int_t   GetToT()    const     {return fToT;}  //Time Over Threshold
42   Int_t   GetSector() const     {return fSector;}
43   Int_t   GetPlate()  const     {return fPlate;}
44   Int_t   GetStrip()  const     {return fStrip;}
45   Int_t   GetPadx()   const     {return fPadx;}
46   Int_t   GetPadz()   const     {return fPadz;}
47
48   // setters for AliTOFdigit object
49   void    SetTdc(Int_t TDC){fTdc = TDC;}
50   void    SetTdcND(Int_t TDCND){fTdcND = TDCND;}
51   void    SetAdc(Int_t ADC){fAdc = ADC;}
52   void    SetToT(Int_t ToT) {fToT=ToT;}
53
54   //overloading of ==, + operators (summable digits)
55   
56   Bool_t operator==(const AliTOFdigit& digit) const;
57   AliTOFdigit operator+(const AliTOFdigit &digit) ;  
58
59
60 protected:
61   Int_t   fSector;  // number of sector
62   Int_t   fPlate;   // number of plate
63   Int_t   fStrip;   // number of strip
64   Int_t   fPadx;    // number of pad along x
65   Int_t   fPadz;    // number of pad along z
66   Int_t   fTdc;     // tdc channel value, to be multiplied by
67                     // AliTOFGeometry::TdcBinWidth() to have the
68                     // time-of-flight measurement
69   Int_t   fTdcND;   // simulated (non slewed) time signal
70   Int_t   fAdc;     // adc channel value, to be multiplie by
71                     // AliTOFSDigitizer::GetAdcBin() to have the
72                     // 'charge' measurement
73   Int_t   fToT;     // simulated ToT
74
75   ClassDef(AliTOFdigit,4)  // Digit for Time Of Flight
76 };
77
78 #endif /* ALITOFDIGIT_H */