Thread libraries filtered out
[u/mrichter/AliRoot.git] / TOF / AliTOFSDigit.h
CommitLineData
5919c40c 1#ifndef ALITOFSDIGIT_H
2#define ALITOFSDIGIT_H
3
4////////////////////////////////////////////////
5// //
6// Class for TOF SDigits //
7// //
8////////////////////////////////////////////////
9
10/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
11 * See cxx source for full Copyright notice */
12
13/* $Id$ */
14
15#include "TArrayF.h"
16#include "TArrayI.h"
17#include "AliDigit.h"
18
19//class TArrayF;
20//class TArrayI;
21
22// number 3 is a legacy from AliDigit object
23const Int_t kMAXDIGITS = 3;
24
25class AliTOFSDigit : public TObject {
26
27 //overloading of the streamer << operator
28//friend ostream& operator << ( ostream& , const AliTOFSDigit&) ;
29
30 public:
31 AliTOFSDigit();
32 AliTOFSDigit(Int_t tracknum, Int_t* vol, Float_t* digit);
33// new ctor for sdigits
34 AliTOFSDigit(Int_t sector, Int_t plate, Int_t strip, Int_t padx, Int_t padz, Float_t tdc, Float_t adc);
35// copy ctor
36 AliTOFSDigit(const AliTOFSDigit & digit) ;
37 virtual ~AliTOFSDigit();
38 void GetLocation(Int_t* Loc) const;
39 Int_t GetTotPad() const;
40
41 void Update(Int_t tdc, Int_t adc, Int_t track);
42
43// getters for AliTOFSDigit object
44 Int_t GetNDigits() const {return fNDigits;}
45 Float_t GetTdc(Int_t i) const {return fTdc->At(i);}
46 Float_t GetAdc(Int_t i) const {return fAdc->At(i);}
47// Int_t GetNTracks(Int_t i) const {return fTracks[i]->GetSize();}
48 Int_t GetTrack(Int_t i, Int_t j) const {return fTracks->At(i*kMAXDIGITS+j);}
49 Int_t GetSector() const {return fSector;}
50 Int_t GetPlate() const {return fPlate;}
51 Int_t GetStrip() const {return fStrip;}
52 Int_t GetPadx() const {return fPadx;}
53 Int_t GetPadz() const {return fPadz;}
54
55protected:
56 Int_t fSector; // number of sector
57 Int_t fPlate; // number of plate
58 Int_t fStrip; // number of strip
59 Int_t fPadx; // number of pad along x
60 Int_t fPadz; // number of pad along z
61 Int_t fNDigits; // dimension of fTdc array
62 TArrayF *fTdc; // tdc values for sdigit
63 TArrayF *fAdc; // adc values for sdigit
64 TArrayI *fTracks; // contributing tracks, kMAXDIGITS entries per
65 // 1 tdc value
66
67// Float_t *fTdc; //[fNDigits] tdc values for sdigit
68// Float_t *fAdc; //[fNDigits] adc values for sdigit
69// Int_t **fTracks; //[fNDigits] contributing tracks, pointers to
70 // arrays with track indices
71
72 ClassDef(AliTOFSDigit,1) // SDigit for Time Of Flight
73};
74
75#endif /* ALITOFSDIGIT_H */