]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCExB.cxx
take care of gGeoManager handling
[u/mrichter/AliRoot.git] / TPC / AliTPCExB.cxx
index 53a0d67d8f1d4b23fbf79255ed9d1c61c8e7c144..573f47cd2acb47d807356f8885d1e6a763ab6ea0 100644 (file)
@@ -1,6 +1,6 @@
 #include "AliTPCExB.h"
 #include "TMath.h"
-#include "TTreeStream.h"
+//#include "TTreeStream.h"
 #include "AliMagF.h"
 #include "TLinearFitter.h"
 #include "AliTPCcalibDB.h"
@@ -157,7 +157,8 @@ Double_t AliTPCExB::GetDr(Double_t r, Double_t phi, Double_t z, Double_t bz){
   // Posibble to us it for visualization 
   // 
   //
-  AliTPCExB *exb = AliTPCcalibDB::GetExB(bz,kFALSE);
+  AliTPCExB *exb = Instance();
+  if (!exb) exb = AliTPCcalibDB::GetExB(bz,kFALSE);
   if (!exb) return 0;
   Double_t pos0[3] = {r*TMath::Cos(phi), r*TMath::Sin(phi),z};
   Double_t pos1[3];
@@ -175,12 +176,15 @@ Double_t AliTPCExB::GetDrphi(Double_t r, Double_t phi, Double_t z, Double_t bz){
   //
   //
   //
-  AliTPCExB *exb = AliTPCcalibDB::GetExB(bz,kFALSE);
+  AliTPCExB *exb = Instance();
+  if (!exb) exb = AliTPCcalibDB::GetExB(bz,kFALSE);
   if (!exb) return 0;
   Double_t pos0[3] = {r*TMath::Cos(phi), r*TMath::Sin(phi),z};
   Double_t pos1[3];
   exb->Correct(pos0,pos1);
   Double_t dphi=TMath::ATan2(pos1[1],pos1[0])-TMath::ATan2(pos0[1],pos0[0]);
+  if (dphi>TMath::Pi()) dphi-=TMath::TwoPi();
+  if (dphi<-TMath::Pi()) dphi+=TMath::TwoPi();
   return r*dphi;  
 
 }
@@ -190,7 +194,8 @@ Double_t AliTPCExB::GetDphi(Double_t r, Double_t phi, Double_t z, Double_t bz){
   //
   //
   // 
-  AliTPCExB *exb = AliTPCcalibDB::GetExB(bz,kFALSE);
+  AliTPCExB *exb = Instance();
+  if (!exb) exb = AliTPCcalibDB::GetExB(bz,kFALSE);
   if (!exb) return 0;
   Double_t pos0[3] = {r*TMath::Cos(phi), r*TMath::Sin(phi),z};
   Double_t pos1[3];
@@ -204,7 +209,8 @@ Double_t AliTPCExB::GetDz(Double_t r, Double_t phi, Double_t z, Double_t bz){
   //
   //
   //
-  AliTPCExB *exb = AliTPCcalibDB::GetExB(bz,kFALSE);
+  AliTPCExB *exb = Instance();
+  if (!exb) exb = AliTPCcalibDB::GetExB(bz,kFALSE);
   if (!exb) return 0;
   Double_t pos0[3] = {r*TMath::Cos(phi), r*TMath::Sin(phi),z};
   Double_t pos1[3];
@@ -407,7 +413,7 @@ Double_t AliTPCExB::Eval(Int_t type, Double_t r, Double_t phi, Double_t z){
 }
 
 
-Double_t AliTPCExB::EvalMat(TVectorD &vec, Double_t r, Double_t phi, Double_t z){
+Double_t AliTPCExB::EvalMat(const TVectorD &vec, Double_t r, Double_t phi, Double_t z){
   //
   // Evaluate taylor expansion in r,phi,z
   //