]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/STEERBase/AliDetectorPID.h
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliDetectorPID.h
1 #ifndef ALI_DETECTOR_PID_H
2 #define ALI_DETECTOR_PID_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //---------------------------------------------------------------//
7 //      Class to store raw probabilities and nsigmas             //
8 //        of all detectors                                       //
9 //                                                               //
10 //                                                               //
11 //   Origin: Jens Wiechula, Uni Tuebingen, jens.wiechula@cern.ch //
12 //---------------------------------------------------------------//
13
14 #include <TObject.h>
15 #include <TClonesArray.h>
16
17 #include "AliPID.h"
18 #include "AliPIDResponse.h"
19
20 class AliDetectorPID : public TObject {
21 public:
22   AliDetectorPID();
23   AliDetectorPID(const AliDetectorPID &pid);
24   virtual ~AliDetectorPID();
25   AliDetectorPID& operator= (const AliDetectorPID &pid);
26   
27   void SetRawProbability(AliPIDResponse::EDetector det, const Double_t prob[], Int_t nspecies, AliPIDResponse::EDetPidStatus status);
28   void SetNumberOfSigmas(AliPIDResponse::EDetector det, const Double_t nsig[], Int_t nspecies, AliPIDResponse::EDetPidStatus status=AliPIDResponse::kDetPidOk);
29
30   AliPIDResponse::EDetPidStatus GetRawProbability(AliPIDResponse::EDetector det, Double_t prob[], Int_t nspecies) const;
31   AliPIDResponse::EDetPidStatus GetNumberOfSigmas(AliPIDResponse::EDetector det, Double_t nsig[], Int_t nspecies) const;
32   
33   Double_t GetRawProbability(AliPIDResponse::EDetector det, AliPID::EParticleType type) const;
34   Double_t GetNumberOfSigmas(AliPIDResponse::EDetector det, AliPID::EParticleType type) const;
35
36   AliPIDResponse::EDetPidStatus GetRawProbability(AliPIDResponse::EDetector det, AliPID::EParticleType type, Double_t &prob) const;
37   AliPIDResponse::EDetPidStatus GetNumberOfSigmas(AliPIDResponse::EDetector det, AliPID::EParticleType type, Double_t &nsig) const;
38   
39   Bool_t HasRawProbability(AliPIDResponse::EDetector det) const { return fArrRawProbabilities.UncheckedAt((Int_t)det)!=0x0; }
40   Bool_t HasNumberOfSigmas (AliPIDResponse::EDetector det) const { return fArrNsigmas.UncheckedAt((Int_t)det)!=0x0;          }
41
42   AliPIDResponse::EDetPidStatus GetPIDStatus(AliPIDResponse::EDetector det) const;
43 private:
44   TClonesArray fArrNsigmas;          // array to store nsigma values of all detectors
45   TClonesArray fArrRawProbabilities; // array to strore raw probabilities of all detectors
46
47   ClassDef(AliDetectorPID,1);        //Store raw probabilities and nsigmas for all detectors
48 };
49
50 #endif
51