Line data Source code
1 : #ifndef ALITRDCALPID_H
2 : #define ALITRDCALPID_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 : // Authors: //
11 : // //
12 : // Alex Bercuci <A.Bercuci@gsi.de> //
13 : // Alex Wilk <wilka@uni-muenster.de> //
14 : // Prashant Shukla <shukla@pi0.physi.uni-heidelberg.de> //
15 : // //
16 : ///////////////////////////////////////////////////////////////////////////////
17 :
18 : #include <TNamed.h>
19 :
20 : #include "AliPID.h"
21 :
22 : class AliTRDCalPID : public TNamed
23 : {
24 : public:
25 : enum {
26 : kNMom = 11,
27 : kNSlicesLQ = 2,
28 : kNSlicesNN = 8
29 : };
30 :
31 : AliTRDCalPID();
32 : AliTRDCalPID(const Text_t *name, const Text_t *title);
33 : virtual ~AliTRDCalPID();
34 :
35 : virtual Bool_t LoadReferences(Char_t *refFile) = 0;
36 : static Double_t GetMomentum(Int_t ip) {
37 0 : return (ip<0 || ip>=kNMom) ? -1.0 : fgTrackMomentum[ip]; }
38 : static Double_t GetMomentumBinning(Int_t ip) {
39 0 : return (ip<0 || ip>=kNMom+1) ? -1.0 : fgTrackMomentumBinning[ip]; }
40 : virtual TObject *GetModel(Int_t ip, Int_t iType, Int_t iPlane) const = 0;
41 : //virtual static Int_t GetModelID(Int_t mom, Int_t spec, Int_t plane) = 0;
42 : virtual Double_t GetProbability(Int_t spec, Float_t mom
43 : , const Float_t * const dedx
44 : , Float_t length, Int_t plane) const = 0;
45 0 : static Color_t GetPartColor(Int_t i) { return fgPartColor[i]; }
46 : static Int_t GetPartIndex(Int_t pdg);
47 0 : static const Char_t *GetPartName(Int_t i) { return fPartName[i]; }
48 0 : static const Char_t *GetPartSymb(Int_t i) { return fPartSymb[i]; }
49 :
50 0 : void SetPartName(Int_t i, const Char_t *name) { fPartName[i] = name; }
51 0 : void SetPartSymb(Int_t i, const Char_t *symb) { fPartSymb[i] = symb; }
52 :
53 : protected:
54 : virtual void Init() = 0;
55 :
56 : static const Char_t *fPartName[AliPID::kSPECIES]; //! Names of particle species
57 : static const Char_t *fPartSymb[AliPID::kSPECIES]; //! Symbols of particle species
58 : static Color_t fgPartColor[AliPID::kSPECIES]; //! Colors of particle species
59 : static Float_t fgTrackMomentum[kNMom]; // Track momenta for which response functions are available
60 : static Float_t fgTrackMomentumBinning[kNMom+1]; // Defines the start and the endpoints of the momentum bins
61 : TObjArray *fModel; // Model for probability estimate
62 :
63 : private:
64 :
65 : AliTRDCalPID(const AliTRDCalPID& pd);
66 : AliTRDCalPID &operator=(const AliTRDCalPID &c);
67 :
68 60 : ClassDef(AliTRDCalPID, 4) // Base class for TRD PID methods
69 :
70 : };
71 : #endif
|