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