Line data Source code
1 : /**************************************************************************
2 : * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 : * *
4 : * Author: The ALICE Off-line Project. *
5 : * Contributors are mentioned in the code where appropriate. *
6 : * *
7 : * Permission to use, copy, modify and distribute this software and its *
8 : * documentation strictly for non-commercial purposes is hereby granted *
9 : * without fee, provided that the above copyright notice appears in all *
10 : * copies and that both the copyright notice and this permission notice *
11 : * appear in the supporting documentation. The authors make no claims *
12 : * about the suitability of this software for any purpose. It is *
13 : * provided "as is" without express or implied warranty. *
14 : **************************************************************************/
15 : //
16 : // Container for the reference distributions for the TRD PID
17 : // Provides storing of the references together with the mometum steps
18 : // they were taken
19 : // More information can be found in the implementation file
20 : //
21 : #ifndef ALITRDPIDREFERENCE_H
22 : #define ALITRDPIDREFERENCE_H
23 :
24 : #include <TNamed.h>
25 : #include <TArrayF.h>
26 : #include "AliPID.h"
27 :
28 : class TObjArray;
29 :
30 : class AliTRDPIDReference : public TNamed{
31 : public:
32 : AliTRDPIDReference();
33 : AliTRDPIDReference(const Char_t *name);
34 : AliTRDPIDReference(const AliTRDPIDReference &ref);
35 : AliTRDPIDReference &operator=(const AliTRDPIDReference &ref);
36 : ~AliTRDPIDReference();
37 :
38 : void SetNumberOfMomentumBins(Int_t nBins, Float_t *momenta);
39 : void AddReference(TObject *histo, AliPID::EParticleType spec, Int_t pbin);
40 :
41 : // Derive reference
42 : TObject *GetLowerReference(AliPID::EParticleType spec, Float_t p, Float_t &pLower) const;
43 : TObject *GetUpperReference(AliPID::EParticleType spec, Float_t p, Float_t &pUpper) const;
44 :
45 48 : Int_t GetNumberOfMomentumBins() const { return fMomentumBins.GetSize(); }
46 : void Print(const Option_t *) const;
47 : private:
48 : enum{
49 : kIsOwner = BIT(14)
50 : };
51 : TObjArray *fRefContainer; // Histogram container
52 : TArrayF fMomentumBins; // Momentum Bins
53 :
54 6668 : ClassDef(AliTRDPIDReference, 1) // Container for TRD references
55 : };
56 : #endif
57 :
|