]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliTPCPIDResponse.h
LOG muondep:
[u/mrichter/AliRoot.git] / STEER / AliTPCPIDResponse.h
index 0e53d073f1d5ae12588c61b5ae009ebb7b504551..8101f432ab713480651542b2f528d551ae34137b 100644 (file)
 //      Dariusz Miskowiec, GSI, D.Miskowiec@gsi.de
 //-------------------------------------------------------
 #include <Rtypes.h>
+#include <TObjArray.h>
 
 #include "AliPID.h"
 
 class AliTPCPIDResponse {
 public:
   AliTPCPIDResponse();
-  AliTPCPIDResponse(Double_t *param);
+  AliTPCPIDResponse(const Double_t *param);
   virtual ~AliTPCPIDResponse() {}
   void SetSigma(Float_t res0, Float_t resN2);
   void SetBetheBlochParameters(Double_t kp1,
@@ -29,8 +30,11 @@ public:
                                );
   void SetMip(Float_t mip) { fMIP = mip; } // Set overall normalisation; mean dE/dx for MIP
   Double_t Bethe(Double_t bg) const;
-
-
+  void SetUseDatabase(Bool_t useDatabase) { fUseDatabase = useDatabase;}
+  
+  void SetResponseFunction(AliPID::EParticleType type, TObject * const o) { fResponseFunctions.AddAt(o,(Int_t)type); }
+  const TObject * GetResponseFunction(AliPID::EParticleType type) { return fResponseFunctions.At((Int_t)type); }
+  
   Double_t GetExpectedSignal(const Float_t mom,
                      AliPID::EParticleType n=AliPID::kKaon) const;
   Double_t GetExpectedSigma(const Float_t mom, const Int_t nPoints,
@@ -56,7 +60,10 @@ private:
   Double_t fKp4;   // Bethe-Bloch
   Double_t fKp5;   // formula
 
-  ClassDef(AliTPCPIDResponse,2)   // TPC PID class
+  Bool_t fUseDatabase; // flag if fine-tuned database-response or simple ALEPH BB should be used
+  TObjArray fResponseFunctions; //! ObjArray of response functions individually for each particle
+
+  ClassDef(AliTPCPIDResponse,3)   // TPC PID class
 };
 
 #endif