Adding Domenico Colella as responsible for SPD part in TRI pp
[u/mrichter/AliRoot.git] / TRD / TRDrec / AliTRDpidESD.h
1 #ifndef ALITRDPIDESD_H
2 #define ALITRDPIDESD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ////////////////////////////////////////////////////////////////////////////
9 //                                                                        //
10 // Assigns the PID probabilities based on TRD information to the ESDs     //
11 //                                                                        //
12 // Authors :                                                              //
13 //   Prashant Shukla <shukla@pi0.physi.uni-heidelberg.de> (orig. version) //
14 //   Alex Bercuci (a.bercuci@gsi.de)                                      //
15 //                                                                        //
16 ////////////////////////////////////////////////////////////////////////////
17
18 //#include <Rtypes.h>
19
20 #include <TObject.h>
21
22 class AliESDEvent;
23 class AliESDtrack;
24 class AliExternalTrackParam;
25
26 class AliTRDpidESD : public TObject {
27
28  public:
29
30   AliTRDpidESD();
31   AliTRDpidESD(const AliTRDpidESD &p);
32   virtual ~AliTRDpidESD();
33   AliTRDpidESD &operator=(const AliTRDpidESD &p);
34
35   virtual void    Copy(TObject &p) const;
36   static  Bool_t  CheckTrack(AliESDtrack * const t);
37           Int_t   MakePID(AliESDEvent * const event);
38
39           void    SetCheckTrackStatus(Bool_t status = kTRUE) { fgCheckTrackStatus = status; };
40           void    SetCheckKinkStatus(Bool_t status = kTRUE)  { fgCheckKinkStatus  = status; };
41           void    SetMinPlane(Int_t plane)                   { fgMinPlane         = plane;  };
42
43           Bool_t  GetCheckTrackStatus() const                { return fgCheckTrackStatus;   };      
44           Bool_t  GetCheckKinkStatus() const                 { return fgCheckKinkStatus;    };      
45           Int_t   GetMinPlane() const                        { return fgMinPlane;           };
46
47 private:
48
49           Bool_t  RecalculateTrackSegmentKine(AliESDtrack * const t
50                                             , Int_t plan
51                                             , Float_t &mom
52                                             , Float_t &length);
53
54   static  Bool_t  fgCheckTrackStatus;           //  Enable check on ESD track status
55   static  Bool_t  fgCheckKinkStatus;            //  Enable check on ESD kink track
56   static  Int_t   fgMinPlane;                   //  Minimum number of planes
57
58   AliExternalTrackParam *fTrack;                //! Memory holder for Track segment calculations
59         
60   ClassDef(AliTRDpidESD,2)                      //  TRD PID class
61
62 };
63
64 #endif
65
66