ROOT logo
#ifndef ALIESDRESOLPARAMS_H
#define ALIESDRESOLPARAMS_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//-------------------------------------------------------------------------
//   ESD tracks and V0 resolution  parameterization
//
//    Origin: Marian Ivanov marian.ivanov@cern.ch
//-------------------------------------------------------------------------

#include "TObject.h"
#include <TVectorD.h>
class TTree;

class AliESDresolParams : public TObject{
 public:
  AliESDresolParams();
  void SetInstance(AliESDresolParams *param){fgInstance = param;}
  //
  Double_t GetResolPrimFast(Int_t param, Float_t onept, Float_t tanth) const;
  Double_t GetResolRFast(Int_t param, Float_t onept, Float_t radius) const;
  //
  static Double_t  SGetResolPrimFast(Int_t sdim, Float_t onept, Float_t tanth){ return fgInstance->GetResolPrimFast(sdim,onept,tanth);}
  static Double_t  SGetResolRFast(Int_t param, Float_t onept, Float_t radius){ return fgInstance->GetResolRFast(param,onept,radius);}
  void SetResolPrimFast(TObjArray* array);
  void SetResolRFast(TObjArray* array);
  // protected:
 public:
  //Resolution at prim vertex
  TVectorD *fResolDCAyy;            // resolution Y parameterization
  TVectorD *fResolDCAzz;            // resolution Z parameterization 
  TVectorD *fResolDCAphi;           // resolution phi parameterization - pt-theta
  TVectorD *fResolDCAth;            // resolution theta parameterization -pt-theta
  TVectorD *fResolDCA1pt;           // resolution 1/pt parameterization - pt-theta
  //
  // Resolution at V0 - radial dependent
  //
  TVectorD *fResolCyy;              // resolution Y parameterization - r-pt
  TVectorD *fResolCzz;              // resolution Z parameterization - r-pt
  TVectorD *fResolCphi;             // resolution phi parameterization - r-pt
  TVectorD *fResolCth;              // resolution theta parameterization - r-pt
  TVectorD *fResolC1pt;             // resolution 1/pt parameterization - r-pt  
  // 
  static AliESDresolParams*   fgInstance; //! Instance of this class (singleton implementation)

private:
  AliESDresolParams(const AliESDresolParams&);            //not implemented
  AliESDresolParams& operator=(const AliESDresolParams&); //not implemented

  ClassDef(AliESDresolParams,1)      // ESD resolution parametereization
};



#endif
 AliESDresolParams.h:1
 AliESDresolParams.h:2
 AliESDresolParams.h:3
 AliESDresolParams.h:4
 AliESDresolParams.h:5
 AliESDresolParams.h:6
 AliESDresolParams.h:7
 AliESDresolParams.h:8
 AliESDresolParams.h:9
 AliESDresolParams.h:10
 AliESDresolParams.h:11
 AliESDresolParams.h:12
 AliESDresolParams.h:13
 AliESDresolParams.h:14
 AliESDresolParams.h:15
 AliESDresolParams.h:16
 AliESDresolParams.h:17
 AliESDresolParams.h:18
 AliESDresolParams.h:19
 AliESDresolParams.h:20
 AliESDresolParams.h:21
 AliESDresolParams.h:22
 AliESDresolParams.h:23
 AliESDresolParams.h:24
 AliESDresolParams.h:25
 AliESDresolParams.h:26
 AliESDresolParams.h:27
 AliESDresolParams.h:28
 AliESDresolParams.h:29
 AliESDresolParams.h:30
 AliESDresolParams.h:31
 AliESDresolParams.h:32
 AliESDresolParams.h:33
 AliESDresolParams.h:34
 AliESDresolParams.h:35
 AliESDresolParams.h:36
 AliESDresolParams.h:37
 AliESDresolParams.h:38
 AliESDresolParams.h:39
 AliESDresolParams.h:40
 AliESDresolParams.h:41
 AliESDresolParams.h:42
 AliESDresolParams.h:43
 AliESDresolParams.h:44
 AliESDresolParams.h:45
 AliESDresolParams.h:46
 AliESDresolParams.h:47
 AliESDresolParams.h:48
 AliESDresolParams.h:49
 AliESDresolParams.h:50
 AliESDresolParams.h:51
 AliESDresolParams.h:52
 AliESDresolParams.h:53
 AliESDresolParams.h:54
 AliESDresolParams.h:55
 AliESDresolParams.h:56
 AliESDresolParams.h:57