Update master to aliroot
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliPIDValues.h
1 #ifndef ALI_PID_VALUES_H
2 #define ALI_PID_VALUES_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //---------------------------------------------------------------//
7 //        Base class for handling the pid response               //
8 //        functions of all detectors                             //
9 //        and give access to the nsigmas                         //
10 //                                                               //
11 //   Origin: Jens Wiechula, Uni Tuebingen, jens.wiechula@cern.ch //
12 //---------------------------------------------------------------//
13
14 #include <TObject.h>
15
16 #include "AliPID.h"
17 #include "AliPIDResponse.h"
18
19 class AliPIDValues : public TObject {
20 public:
21   AliPIDValues();
22   AliPIDValues(const AliPIDValues &val);
23   AliPIDValues(Double_t val[], Int_t nspecies, AliPIDResponse::EDetPidStatus status=AliPIDResponse::kDetPidOk);
24   
25   AliPIDValues& operator= (const AliPIDValues &val);
26   void Copy(TObject &obj) const;
27   
28   void SetValues(const Double_t val[], Int_t nspecies, AliPIDResponse::EDetPidStatus status=AliPIDResponse::kDetPidOk);
29   AliPIDResponse::EDetPidStatus GetValues(Double_t val[], Int_t nspecies) const;
30
31   Double_t GetValue(AliPID::EParticleType type) const;
32
33   void SetPIDStatus(AliPIDResponse::EDetPidStatus status) { fPIDStatus=status; }
34   AliPIDResponse::EDetPidStatus GetPIDStatus() const { return fPIDStatus; }
35   
36 private:
37   Double32_t fValues[AliPID::kSPECIESCN];    //[0.,0.,8] PID values
38   AliPIDResponse::EDetPidStatus fPIDStatus;  //PID status of the detector
39
40   ClassDef(AliPIDValues,1);                  //Store PID values for each particle type
41 };
42
43 #endif