]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - TRD/Cal/AliTRDCalPID.h
re-activate contrib code
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalPID.h
... / ...
CommitLineData
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
22class AliTRDCalPID : public TNamed
23{
24public:
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 return (ip<0 || ip>=kNMom) ? -1.0 : fgTrackMomentum[ip]; }
38 static Double_t GetMomentumBinning(Int_t ip) {
39 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 static Color_t GetPartColor(Int_t i) { return fgPartColor[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]; }
49
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; }
52
53protected:
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 ClassDef(AliTRDCalPID, 4) // Base class for TRD PID methods
69
70};
71#endif