Adding draw function
authormivanov <mivanov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 25 Jun 2013 09:36:30 +0000 (09:36 +0000)
committermivanov <mivanov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 25 Jun 2013 09:36:30 +0000 (09:36 +0000)
Marian.

STEER/CDB/AliDCSSensor.cxx
STEER/CDB/AliDCSSensor.h
STEER/CDB/AliDCSSensorArray.cxx

index cb0aa4e..c90a240 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "AliDCSSensor.h"
 #include "TDatime.h"
+#include "TCanvas.h"
 ClassImp(AliDCSSensor)
 
 const Double_t kSecInHour = 3600.; // seconds in one hour
@@ -79,21 +80,38 @@ AliDCSSensor& AliDCSSensor::operator=(const AliDCSSensor& source){
 }
 
 
-void AliDCSSensor::Print(const Option_t* option="") const{
-  //
+void AliDCSSensor::Print(const Option_t* option) const{
   //
+  // print function
   //  
   TString opt = option; opt.ToLower();
   printf("%s:%s\n",GetTitle(), GetName());
-  printf("%s\n",fStringID.GetTitle());
-  if (!fSensors) return;
-  Int_t nsensors=fSensors->GetEntries();
-  for (Int_t i=0; i<nsensors; i++){
-    printf("Sensor Nr%d\n",i);
-    if (fSensors->At(i)) fSensors->At(i)->Print(option);
+  printf("%s\n",fStringID.Data());
+
+}
+
+void AliDCSSensor::Draw(const Option_t* option) const{
+  //
+  // 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()); 
+  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);
+    return;
   }
+  TGraph * graph = MakeGraph(100);  // memory leak - we can not modify the content - const method
+  graph->Draw(option);              // 
+  //
 }
 
+
+
 //_____________________________________________________________________________
 Double_t AliDCSSensor::GetValue(UInt_t timeSec)
 {
index b9d1719..d71801c 100644 (file)
@@ -36,6 +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;
   
   Int_t       GetId()     const {return fId;     }
   Int_t       GetIdDCS()  const {return fIdDCS;     }
index c8adb21..12ada81 100644 (file)
@@ -189,13 +189,18 @@ AliDCSSensorArray &AliDCSSensorArray::operator=(const AliDCSSensorArray &c)
   return *this;
 }
 
-void AliDCSSensorArray::Print(const Option_t* option="") const{
+void AliDCSSensorArray::Print(const Option_t* option) const{
   //
   // print function overwriten
   //
   TString opt = option; opt.ToLower();
   printf("%s:%s\n",GetTitle(), GetName());
-  printf("%s\n",fStringID.GetTitle());
+  if (!fSensors) return;
+  Int_t nsensors=fSensors->GetEntries();
+  for (Int_t i=0; i<nsensors; i++){
+    printf("Sensor Nr%d\n",i);
+    if (fSensors->At(i)) fSensors->At(i)->Print(option);
+  }
 }
 
 //____________________________________________________________________________