ROOT logo
#ifndef ALITOFDIGIT_H
#define ALITOFDIGIT_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

////////////////////////////////////////////////
//                                            //
//  Digit class for TOF                       //
//  Interface                                 //
//  Getters, Setters and member variables     //
//  declared here                             //
//                                            //
////////////////////////////////////////////////

/* $Id$ */

#include "AliDigit.h"
using std::ostream;

class AliTOFdigit : public AliDigit {
  
  //overloading of the streamer << operator
  friend ostream& operator << (ostream &, const AliTOFdigit&) ;

 public:
 AliTOFdigit();
  AliTOFdigit(Int_t* tracks, Int_t* vol, Int_t* digit);
// new ctor for sdigits
  AliTOFdigit(Int_t sector, Int_t plate, Int_t strip, Int_t padx, Int_t padz, Int_t tdc, Int_t adc);
// copy ctor
  AliTOFdigit(const AliTOFdigit & digit) ;
  virtual ~AliTOFdigit(){}
  void            GetLocation(Int_t* Loc) const;
  Int_t           GetTotPad() const;
  void            AddTrack(Int_t track);
  // getters for AliTOFdigit object 
  Int_t   GetTdc()    const     {return fTdc;}
  Int_t   GetTdcND()  const     {return fTdcND;}
  Int_t   GetAdc()    const     {return fAdc;}
  Int_t   GetToT()    const     {return fToT;}  //Time Over Threshold
  Int_t   GetSector() const     {return fSector;}
  Int_t   GetPlate()  const     {return fPlate;}
  Int_t   GetStrip()  const     {return fStrip;}
  Int_t   GetPadx()   const     {return fPadx;}
  Int_t   GetPadz()   const     {return fPadz;}

  // setters for AliTOFdigit object
  void    SetTdc(Int_t TDC){fTdc = TDC;}
  void    SetTdcND(Int_t TDCND){fTdcND = TDCND;}
  void    SetAdc(Int_t ADC){fAdc = ADC;}
  void    SetToT(Int_t ToT) {fToT=ToT;}

  //overloading of ==, + operators (summable digits)
  
  Bool_t operator==(const AliTOFdigit& digit) const;
  AliTOFdigit operator+(const AliTOFdigit &digit) ;  


protected:
  Int_t   fSector;  // number of sector
  Int_t   fPlate;   // number of plate
  Int_t   fStrip;   // number of strip
  Int_t   fPadx;    // number of pad along x
  Int_t   fPadz;    // number of pad along z
  Int_t   fTdc;     // tdc channel value, to be multiplied by
		    // AliTOFGeometry::TdcBinWidth() to have the
		    // time-of-flight measurement
  Int_t   fTdcND;   // simulated (non slewed) time signal
  Int_t   fAdc;     // adc channel value, to be multiplie by
		    // AliTOFSDigitizer::GetAdcBin() to have the
		    // 'charge' measurement
  Int_t   fToT;     // simulated ToT

 private:
  AliTOFdigit &operator=(const AliTOFdigit& digit);

  ClassDef(AliTOFdigit,5)  // Digit for Time Of Flight
};

#endif /* ALITOFDIGIT_H */
 AliTOFdigit.h:1
 AliTOFdigit.h:2
 AliTOFdigit.h:3
 AliTOFdigit.h:4
 AliTOFdigit.h:5
 AliTOFdigit.h:6
 AliTOFdigit.h:7
 AliTOFdigit.h:8
 AliTOFdigit.h:9
 AliTOFdigit.h:10
 AliTOFdigit.h:11
 AliTOFdigit.h:12
 AliTOFdigit.h:13
 AliTOFdigit.h:14
 AliTOFdigit.h:15
 AliTOFdigit.h:16
 AliTOFdigit.h:17
 AliTOFdigit.h:18
 AliTOFdigit.h:19
 AliTOFdigit.h:20
 AliTOFdigit.h:21
 AliTOFdigit.h:22
 AliTOFdigit.h:23
 AliTOFdigit.h:24
 AliTOFdigit.h:25
 AliTOFdigit.h:26
 AliTOFdigit.h:27
 AliTOFdigit.h:28
 AliTOFdigit.h:29
 AliTOFdigit.h:30
 AliTOFdigit.h:31
 AliTOFdigit.h:32
 AliTOFdigit.h:33
 AliTOFdigit.h:34
 AliTOFdigit.h:35
 AliTOFdigit.h:36
 AliTOFdigit.h:37
 AliTOFdigit.h:38
 AliTOFdigit.h:39
 AliTOFdigit.h:40
 AliTOFdigit.h:41
 AliTOFdigit.h:42
 AliTOFdigit.h:43
 AliTOFdigit.h:44
 AliTOFdigit.h:45
 AliTOFdigit.h:46
 AliTOFdigit.h:47
 AliTOFdigit.h:48
 AliTOFdigit.h:49
 AliTOFdigit.h:50
 AliTOFdigit.h:51
 AliTOFdigit.h:52
 AliTOFdigit.h:53
 AliTOFdigit.h:54
 AliTOFdigit.h:55
 AliTOFdigit.h:56
 AliTOFdigit.h:57
 AliTOFdigit.h:58
 AliTOFdigit.h:59
 AliTOFdigit.h:60
 AliTOFdigit.h:61
 AliTOFdigit.h:62
 AliTOFdigit.h:63
 AliTOFdigit.h:64
 AliTOFdigit.h:65
 AliTOFdigit.h:66
 AliTOFdigit.h:67
 AliTOFdigit.h:68
 AliTOFdigit.h:69
 AliTOFdigit.h:70
 AliTOFdigit.h:71
 AliTOFdigit.h:72
 AliTOFdigit.h:73
 AliTOFdigit.h:74
 AliTOFdigit.h:75
 AliTOFdigit.h:76
 AliTOFdigit.h:77
 AliTOFdigit.h:78
 AliTOFdigit.h:79
 AliTOFdigit.h:80