]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/STEERBase/AliMagWrapCheb.h
Switching from CMAKE_SOURCE_DIR to AliRoot_SOURCE_DIR
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliMagWrapCheb.h
index 0285dcd136cb3cf36d4a14a4999c0db1615a37f8..1a5188ea549cf46e822cf634e9fbe5b3fddb9fc6 100644 (file)
 #include <TMath.h>
 #include <TNamed.h>
 #include <TObjArray.h>
-class AliCheb3D;
+#include <TStopwatch.h>
+#include "AliCheb3D.h"
+
+#ifndef _MAGCHEB_CACHE_
+#define _MAGCHEB_CACHE_  // use to spead up, but then Field calls are not thread safe
+#endif
 
 class TSystem;
 class TArrayF;
@@ -136,6 +141,8 @@ class AliMagWrapCheb: public TNamed
   void       BuildTableTPCRatInt();
   void       ResetTPCInt();
   void       ResetTPCRatInt();
+  void       ResetSol();
+  void       ResetDip();
   //
   //
 #endif
@@ -213,7 +220,14 @@ class AliMagWrapCheb: public TNamed
   Float_t    fMaxZDip;               // Max Z of Dipole parameterization
   TObjArray* fParamsDip;             // Parameterization pieces for Dipole field
   //
-  ClassDef(AliMagWrapCheb,7)         // Wrapper class for the set of Chebishev parameterizations of Alice mag.field
+#ifdef _MAGCHEB_CACHE_
+  mutable AliCheb3D* fCacheSol;              //! last used solenoid patch
+  mutable AliCheb3D* fCacheDip;              //! last used dipole patch
+  mutable AliCheb3D* fCacheTPCInt;           //! last used patch for TPC integral
+  mutable AliCheb3D* fCacheTPCRat;           //! last used patch for TPC normalized integral
+#endif 
+  //
+  ClassDef(AliMagWrapCheb,8)         // Wrapper class for the set of Chebishev parameterizations of Alice mag.field
   //
  };