CDB/AliDCSSensor.cxx - use option for Drawing, rmeoving warning in the Draw
authormivanov <mivanov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 19 Sep 2013 14:34:00 +0000 (14:34 +0000)
committermivanov <mivanov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 19 Sep 2013 14:34:00 +0000 (14:34 +0000)
ESD/AliTrackerBase.cxx  - Use staight line aprroximation if very small curvature

(Marian)

STEER/CDB/AliDCSSensor.cxx
STEER/CDB/AliDCSSensor.h
STEER/ESD/AliTrackerBase.cxx

index c90a240..ebfedf7 100644 (file)
@@ -90,21 +90,22 @@ void AliDCSSensor::Print(const Option_t* option) const{
 
 }
 
-void AliDCSSensor::Draw(const Option_t* option) const{
+void AliDCSSensor::Draw(Option_t* option) {
   //
   // draw function - to viusalize sensor
   // Unfortuantelly - it  make a memory leak as function Draw does not return the object pointer
   //
-  TCanvas * canvas = new TCanvas(fStringID.Data(), fStringID.Data()); 
+  TCanvas * canvas = new TCanvas((fStringID+option).Data(), (fStringID+option).Data()); 
   if (fGraph){
     // transform points to time in s
     Int_t npoints = fGraph->GetN();
     for (Int_t i=0; i<npoints; i++){
       fGraph->GetX()[i]=fGraph->GetX()[i]*3600+fStartTime;
     }
-    fGraph->Draw(option);
+    fGraph->Draw("alp");
     return;
   }
+  canvas->cd();
   TGraph * graph = MakeGraph(100);  // memory leak - we can not modify the content - const method
   graph->Draw(option);              // 
   //
index d71801c..5ba32db 100644 (file)
@@ -36,7 +36,7 @@ public:
   virtual ~AliDCSSensor(){}
   AliDCSSensor& operator=(const AliDCSSensor& source);
   virtual void Print(const Option_t* option="") const;
-  virtual void Draw(const Option_t* option="") const;
+  virtual void Draw(Option_t* option="") ;
   
   Int_t       GetId()     const {return fId;     }
   Int_t       GetIdDCS()  const {return fIdDCS;     }
index 4235d5f..6f0408b 100644 (file)
@@ -555,13 +555,18 @@ Double_t AliTrackerBase::MakeTgl(Double_t x1,Double_t y1,
   // Initial approximation of the tangent of the track dip angle
   //-----------------------------------------------------------------
   //
+  const Double_t kEpsilon =0.00001;
   x2-=x1;
   y2-=y1;
   z2-=z1;
   Double_t d  =  TMath::Sqrt(x2*x2+y2*y2);  // distance  straight line
   if (TMath::Abs(d*c*0.5)>1) return 0;
   Double_t   angle2    = TMath::ASin(d*c*0.5); 
-  angle2  = z2*TMath::Abs(c/(angle2*2.));
+  if (TMath::Abs(angle2)>kEpsilon)  {
+    angle2  = z2*TMath::Abs(c/(angle2*2.));
+  }else{
+    angle2=z2/d;
+  }
   return angle2;
 }