]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCExB.cxx
Set finite validity (one run) to TPC/Calib/AltroConfig OCDB entries
[u/mrichter/AliRoot.git] / TPC / AliTPCExB.cxx
index c1aaf22890791755e83a95dbc8edeee6f39eb1d4..1ec7ec29a27fe3d9a6159d30de78553829dc2b3d 100644 (file)
@@ -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];
@@ -235,9 +241,9 @@ Double_t AliTPCExB::GetBx(Double_t r, Double_t phi, Double_t z,Int_t index){
   //
   AliMagF *mag = (AliMagF*)fgArray.At(index);
   if (!mag) return 0;
-  Float_t xyz[3]={r*TMath::Cos(phi),r*TMath::Sin(phi),z};
+  Double_t xyz[3]={r*TMath::Cos(phi),r*TMath::Sin(phi),z};
   //  xyz[1]+=30;
-  Float_t bxyz[3];
+  Double_t bxyz[3];
   mag->Field(xyz,bxyz);
   return bxyz[0];
 }  
@@ -248,9 +254,9 @@ Double_t AliTPCExB::GetBy(Double_t r, Double_t phi, Double_t z,Int_t index){
   //
   AliMagF *mag = (AliMagF*)fgArray.At(index);
   if (!mag) return 0;
-  Float_t xyz[3]={r*TMath::Cos(phi),r*TMath::Sin(phi),z};
+  Double_t xyz[3]={r*TMath::Cos(phi),r*TMath::Sin(phi),z};
   //  xyz[1]+=30;
-  Float_t bxyz[3];
+  Double_t bxyz[3];
   mag->Field(xyz,bxyz);
   return bxyz[1];
 }  
@@ -261,9 +267,9 @@ Double_t AliTPCExB::GetBz(Double_t r, Double_t phi, Double_t z,Int_t index){
   //
   AliMagF *mag = (AliMagF*)fgArray.At(index);
   if (!mag) return 0;
-  Float_t xyz[3]={r*TMath::Cos(phi),r*TMath::Sin(phi),z};
+  Double_t xyz[3]={r*TMath::Cos(phi),r*TMath::Sin(phi),z};
   //  xyz[1]+=30;
-  Float_t bxyz[3];
+  Double_t bxyz[3];
   mag->Field(xyz,bxyz);
   return bxyz[2];
 }  
@@ -276,12 +282,12 @@ Double_t AliTPCExB::GetBr(Double_t r, Double_t phi, Double_t z,Int_t index){
   //
   AliMagF *mag = (AliMagF*)fgArray.At(index);
   if (!mag) return 0;
-  Float_t xyz[3]={r*TMath::Cos(phi),r*TMath::Sin(phi),z};
+  Double_t xyz[3]={r*TMath::Cos(phi),r*TMath::Sin(phi),z};
   //xyz[1]+=30;
-  Float_t bxyz[3];
+  Double_t bxyz[3];
   mag->Field(xyz,bxyz);
   if (r==0) return 0;
-  Float_t br = (bxyz[0]*xyz[0]+bxyz[1]*xyz[1])/r;
+  Double_t br = (bxyz[0]*xyz[0]+bxyz[1]*xyz[1])/r;
   return br;
 }  
 
@@ -291,12 +297,12 @@ Double_t AliTPCExB::GetBrfi(Double_t r, Double_t phi, Double_t z,Int_t index){
   //
   AliMagF *mag = (AliMagF*)fgArray.At(index);
   if (!mag) return 0;
-  Float_t xyz[3]={r*TMath::Cos(phi),r*TMath::Sin(phi),z};
+  Double_t xyz[3]={r*TMath::Cos(phi),r*TMath::Sin(phi),z};
   //xyz[1]+=30;
-  Float_t bxyz[3];
+  Double_t bxyz[3];
   mag->Field(xyz,bxyz);
   if (r==0) return 0;
-  Float_t br = (-bxyz[0]*xyz[1]+bxyz[1]*xyz[0])/r;
+  Double_t br = (-bxyz[0]*xyz[1]+bxyz[1]*xyz[0])/r;
   return br;
 }