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