]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFdigit.h
- Dipole rotated wr to ALICE coordinate system
[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, Float_t* digit);
29 // new ctor for sdigits
30   AliTOFdigit(Int_t sector, Int_t plate, Int_t strip, Int_t padx, Int_t padz, Float_t tdc, Float_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   Float_t GetTdc()    const     {return fTdc;}
39   Float_t GetTdcND()  const     {return fTdcND;}
40   Float_t GetAdc()    const     {return fAdc;}
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   Float_t GetToT() const{return fToT;}         //Time Over Threshold
47
48   // setters for AliTOFdigit object
49   void    SetTdc(Float_t TDC){fTdc = TDC;}
50   void    SetTdcND(Float_t TDCND){fTdcND = TDCND;}
51   void    SetAdc(Float_t ADC){fAdc = ADC;}
52   void    SetToT(Float_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   Float_t fTdc;     // tdc channel value, to be multiplied by
67                     // AliTOFGeometry::TdcBinWidth() to have the
68                     // time-of-flight measurement
69   Float_t fTdcND;   // simulated (non slewed) time signal
70   Float_t fAdc;     // adc channel value, to be multiplie by
71                     // AliTOFSDigitizer::GetAdcBin() to have the
72                     // 'charge' measurement
73   Float_t  fToT;    // simulated ToT
74
75   ClassDef(AliTOFdigit,3)  // Digit for Time Of Flight
76 };
77
78 #endif /* ALITOFDIGIT_H */