3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ///////////////////////////////////////////////////////////////////////////////
12 // Alex Bercuci <A.Bercuci@gsi.de> //
13 // Alex Wilk <wilka@uni-muenster.de> //
14 // Prashant Shukla <shukla@pi0.physi.uni-heidelberg.de> //
16 ///////////////////////////////////////////////////////////////////////////////
26 class AliTRDCalPID : public TNamed
36 AliTRDCalPID(const Text_t *name, const Text_t *title);
37 virtual ~AliTRDCalPID();
39 virtual Bool_t LoadReferences(Char_t *refFile) = 0;
40 static Double_t GetMomentum(Int_t ip) {
41 return (ip<0 || ip>=kNMom) ? -1.0 : fTrackMomentum[ip]; }
42 virtual TObject *GetModel(Int_t ip, Int_t iType, Int_t iPlane) const = 0;
43 virtual Double_t GetProbability(Int_t spec, Float_t mom, Float_t *dedx
44 , Float_t length, Int_t plane) const = 0;
45 static Color_t GetPartColor(Int_t i) { return fPartColor[i]; }
46 static Int_t GetPartIndex(Int_t pdg);
47 static const Char_t *GetPartName(Int_t i) { return fPartName[i]; }
48 static const Char_t *GetPartSymb(Int_t i) { return fPartSymb[i]; }
50 void SetPartName(Int_t i, const Char_t *name) { fPartName[i] = name; }
51 void SetPartSymb(Int_t i, const Char_t *symb) { fPartSymb[i] = symb; }
55 virtual void Init() = 0;
56 virtual Int_t GetModelID(Int_t mom, Int_t spec, Int_t plane) const = 0;
60 AliTRDCalPID(const AliTRDCalPID& pd);
61 AliTRDCalPID &operator=(const AliTRDCalPID &c);
65 static const Char_t *fPartName[AliPID::kSPECIES]; //! Names of particle species
66 static const Char_t *fPartSymb[AliPID::kSPECIES]; //! Symbols of particle species
67 static Color_t fPartColor[AliPID::kSPECIES]; //! Colors of particle species
68 static Float_t fTrackMomentum[kNMom]; // Track momenta for which response functions are available
69 TObjArray *fModel; // Model for probability estimate
71 ClassDef(AliTRDCalPID, 3) // Base class for TRD PID methods