Line data Source code
1 : #ifndef ALITRDTRACKLETBASE_H
2 : #define ALITRDTRACKLETBASE_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : /* $Id: AliTRDtrackletBase.h 26327 2008-06-02 15:36:18Z cblume $ */
8 :
9 : ////////////////////////////////////////////////////////////////////////////
10 : // //
11 : // TRD tracklet //
12 : // abstract base class for TRD tracklets //
13 : // //
14 : // Authors //
15 : // Alex Bercuci (A.Bercuci@gsi.de) //
16 : // Jochen Klein (jochen.klein@cern.ch) //
17 : // //
18 : ////////////////////////////////////////////////////////////////////////////
19 :
20 : #ifndef ROOT_TObject
21 : #include "TObject.h"
22 : #endif
23 :
24 : class AliTRDtrackletBase : public TObject {
25 :
26 : public:
27 :
28 3992 : AliTRDtrackletBase() : TObject() {}
29 3652 : AliTRDtrackletBase(const AliTRDtrackletBase &o) : TObject(o) {}
30 5222 : virtual ~AliTRDtrackletBase() {}
31 :
32 0 : AliTRDtrackletBase& operator=(const AliTRDtrackletBase &o) { TObject::operator=(o); return *this; }
33 :
34 : virtual Bool_t CookPID() = 0;
35 :
36 : virtual Int_t GetDetector() const = 0 ;
37 0 : virtual Int_t GetHCId() const { return 2 * GetDetector() + (GetYbin() > 0 ? 1 : 0); }
38 :
39 : virtual Float_t GetX() const = 0;
40 : virtual Float_t GetY() const = 0;
41 : virtual Float_t GetZ() const = 0;
42 : virtual Float_t GetdYdX() const = 0;
43 0 : virtual Float_t GetdZdX() const { return 0; }
44 :
45 : virtual Int_t GetdY() const = 0; // in units of 140um
46 : virtual Int_t GetYbin() const = 0; // in units of 160um
47 : virtual Int_t GetZbin() const = 0; // in pad length units
48 :
49 : virtual Double_t GetPID(Int_t is=-1) const = 0;
50 :
51 0 : virtual void LocalToGlobal(Float_t&, Float_t&, Float_t&, Float_t&) {}
52 :
53 0 : virtual void Print(Option_t * /*option=""*/) const {}
54 :
55 : virtual UInt_t GetTrackletWord() const = 0;
56 :
57 : virtual void SetDetector(Int_t id) = 0;
58 :
59 : protected:
60 :
61 62 : ClassDef(AliTRDtrackletBase, 1); // Base class for TRD on- and offline tracklets
62 :
63 : };
64 :
65 : #endif
|