]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCMonitorConfig.cxx
TrainSetup version of official QA train
[u/mrichter/AliRoot.git] / TPC / AliTPCMonitorConfig.cxx
index 65d23a0a9e4ded3ae161cfbe7898efd4f4ab3ccd..1d778b8675f96f465636055b2e8af8508ff8fbdc 100755 (executable)
 
 /*
 $Log$
+Revision 1.2  2007/10/12 13:36:27  cvetan
+Coding convention fixes from Stefan
+
+Revision 1.1  2007/09/17 10:23:31  cvetan
+New TPC monitoring package from Stefan Kniege. The monitoring package can be started by running TPCMonitor.C macro located in macros folder.
+
 */ 
 
+//////////////////////////////////////////////////////////////////////////
+////
+//// AliTPCMonitorConfig class
+////
+//// Configuration handler class for AliTPCMonitor
+////
+//// The basic configuration will be read from the file AliTPCMonitorConfig.txt
+//// and can be changed online via the Button "Conf. Ranges"
+//// Basic configuration settings are e.g. the range for the determination 
+//// of the baseline, maximum adc value and the settings for the pedestal calculation.
+//// 
+//// Author: Stefan Kniege, IKF, Frankfurt
+////       
+////
+/////////////////////////////////////////////////////////////////////////
+
+
 #include "AliTPCMonitorConfig.h"
+#include "AliLog.h" 
+#include <Riostream.h>
+
 ClassImp(AliTPCMonitorConfig)
 
-//_______________________________________________________________________________________________________________
-AliTPCMonitorConfig::AliTPCMonitorConfig(Char_t* name, Char_t* title) : TNamed(name,title)
+// _______________________________________________________________________________________________________________
+AliTPCMonitorConfig::AliTPCMonitorConfig(const Char_t* name, const Char_t* title) : 
+  TNamed(name,title),
+  fFormat(-1),
+  fSector(0),
+  fSectorLast(-1),
+  fSectorLastDisplayed(-1),
+  fSectorArr(new Int_t[36]),
+  fFileLast(),
+  fFileLastSet(0),
+  fFileCurrent(),
+  fEventNext(1),
+  fEventNextID(1),
+  fEventProcessed(0),
+  fRangeMaxAdcMin(50),
+  fRangeMaxAdcMax(100),
+  fRangeBaseMin(300),
+  fRangeBaseMax(600),
+  fRangeSumMin(50), 
+  fRangeSumMax(100),
+  fCanvasXSize(100),
+  fCanvasYSize(100), 
+  fCanvasXSpace(10), 
+  fCanvasYSpace(10), 
+  fCanvasXOffset(130),
+  fCanvasMainSize(200),
+  fMainXSize(100),
+  fMainYSize(600),
+  fBorderXSize(10),
+  fBorderYSize(10),
+  fButtonXSize(100), 
+  fButtonYSize(20), 
+  fButtonFirstX1(10),
+  fButtonFirstX2(50),
+  fButtonFirstY(300),  
+  fWrite10Bit(0),
+  fComponents(new Float_t[10]), 
+  fSamplingFreq(1000000),
+  fPedestals(1),
+  fNumOfChannels(16000),
+  fTimeBins(1024),
+  fMaxHwAddr(24000),
+  fFitPulse(1),
+  fProcOneSector(0)
 {
-
   // Constructor 
-  // Set default values for Size of Window 
-  
-  fRangeMaxAdcMin       = 50  ;
-  fRangeMaxAdcMax       = 100 ;
-  
-  fRangeBaseMin         = 300 ;
-  fRangeBaseMax         = 600 ;
-  
-  fRangeSumMin          = 50  ; 
-  fRangeSumMax          = 100 ;
+  for(Int_t i =0; i<36; i++) { fSectorArr[i]  =  0;}
+  for(Int_t i =0; i<10;i++)  { fComponents[i] =0.0;}
+  SetMainSize(130,720,10,26 );
   
+} 
+
+//_______________________________________________________________________________________________________________
+AliTPCMonitorConfig::AliTPCMonitorConfig(const AliTPCMonitorConfig &config) :
+  TNamed(config.GetName(),config.GetTitle()),
+  fFormat(config.fFormat),
+  fSector(config.fSector),
+  fSectorLast(config.fSectorLast),
+  fSectorLastDisplayed(config.fSectorLastDisplayed),
+  fSectorArr(new Int_t[36]),
+  fFileLast(config.fFileLast),
+  fFileLastSet(config.fFileLastSet),
+  fFileCurrent(config.fFileCurrent),
+  fEventNext(config.fEventNext),
+  fEventNextID(config.fEventNextID),
+  fEventProcessed(config.fEventProcessed),
+  fRangeMaxAdcMin(config.fRangeMaxAdcMin),
+  fRangeMaxAdcMax(config.fRangeMaxAdcMax),
+  fRangeBaseMin(config.fRangeBaseMin),
+  fRangeBaseMax(config.fRangeBaseMax),
+  fRangeSumMin(config.fRangeSumMin),
+  fRangeSumMax(config.fRangeSumMax),
+  fCanvasXSize(config.fCanvasXSize),
+  fCanvasYSize(config.fCanvasYSize),
+  fCanvasXSpace(config.fCanvasXSpace),
+  fCanvasYSpace(config.fCanvasYSpace),
+  fCanvasXOffset(config.fCanvasXOffset),
+  fCanvasMainSize(config.fCanvasMainSize),
+  fMainXSize(config.fMainXSize),
+  fMainYSize(config.fMainYSize),
+  fBorderXSize(config.fBorderXSize),
+  fBorderYSize(config.fBorderYSize),
+  fButtonXSize(config.fBorderXSize),
+  fButtonYSize(config.fButtonYSize),
+  fButtonFirstX1(config.fButtonFirstX1),
+  fButtonFirstX2(config.fButtonFirstX2),
+  fButtonFirstY(config.fButtonFirstY),
+  fWrite10Bit(config.fWrite10Bit),
+  fComponents(new Float_t[10]),
+  fSamplingFreq(config.fSamplingFreq),
+  fPedestals(config.fPedestals),
+  fNumOfChannels(config.fNumOfChannels),
+  fTimeBins(config.fTimeBins),
+  fMaxHwAddr(config.fMaxHwAddr),
+  fFitPulse(config.fFitPulse),
+  fProcOneSector(config.fProcOneSector)
+{
+  // copy constructor
   
-  fFormat               = -1;  
-  fSector               = 0;
-  fEventNext            = 1;
-  fEventNextID          = 1;
+  for(Int_t i =0; i<36; i++) { fSectorArr[i]  =  0;}
+  for(Int_t i =0; i<10;i++)  { fComponents[i] =0.0;}
 
-  SetMainSize(130,720,10,26 );
 
-  fFileLast             = new Char_t[256]       ;
-  fFileLastSet          = 0;
-  fFileCurrent          = new Char_t[256];
-  
-  fSectorLast           =-1;
-  fSectorLastDisplayed  =-1;
-  
-  fWrite10Bit           = 0;
-  
-  fSectorArr            = new Int_t[36];    for(Int_t i =0; i<36; i++) { fSectorArr[i]  =  0;}
-  fComponents           = new Float_t[10];  for(Int_t i =0; i<10;i++)  { fComponents[i] =0.0;}
-  
-  fSamplingFreq         = 1000000;
-  fTimeBins             = 1024;
-  fPedestals            = 1;
-  fNumOfChannels        = 16000;
-  fMaxHwAddr            = 24000;
+}
+//_______________________________________________________________________________________________________________
+AliTPCMonitorConfig &AliTPCMonitorConfig::operator =(const AliTPCMonitorConfig& config)
+{
+  // assignement operator
+  if(this!=&config){ 
+    ((TNamed *)this)->operator=(config);
+    fFormat=config.fFormat;
+    fSector=config.fSector;
+    fSectorLast=config.fSectorLast;
+    fSectorLastDisplayed=config.fSectorLastDisplayed;
+    fFileLastSet=config.fFileLastSet;
+    fEventNext=config.fEventNext;
+    fEventNextID=config.fEventNextID;
+    fEventProcessed=config.fEventProcessed;
+    fRangeMaxAdcMin=config.fRangeMaxAdcMin;
+    fRangeMaxAdcMax=config.fRangeMaxAdcMax;
+    fRangeBaseMin=config.fRangeBaseMin;
+    fRangeBaseMax=config.fRangeBaseMax;
+    fRangeSumMin=config.fRangeSumMin;
+    fRangeSumMax=config.fRangeSumMax;
+    fCanvasXSize=config.fCanvasXSize;
+    fCanvasYSize=config.fCanvasYSize;
+    fCanvasXSpace=config.fCanvasXSpace;
+    fCanvasYSpace=config.fCanvasYSpace;
+    fCanvasXOffset=config.fCanvasXOffset;
+    fCanvasMainSize=config.fCanvasMainSize;
+    fMainXSize=config.fMainXSize;
+    fMainYSize=config.fMainYSize;
+    fBorderXSize=config.fBorderXSize;
+    fButtonYSize=config.fButtonYSize;
+    fButtonFirstX1=config.fButtonFirstX1;
+    fButtonFirstX2=config.fButtonFirstX2;
+    fButtonFirstY=config.fButtonFirstY;
+    fWrite10Bit=config.fWrite10Bit;
+    fPedestals=config.fPedestals;
+    fNumOfChannels=config.fNumOfChannels;
+    fTimeBins=config.fTimeBins;
+    fMaxHwAddr=config.fMaxHwAddr;
+    fFitPulse=config.fFitPulse; 
+    fProcOneSector=config.fProcOneSector;
+
+    fFileLast             = config.fFileLast;
+    fFileCurrent          = config.fFileCurrent;
+    
+    fSectorArr            = new Int_t[36];    for(Int_t i =0; i<36; i++) { fSectorArr[i]  =  0;}
+    fComponents           = new Float_t[10];  for(Int_t i =0; i<10;i++)  { fComponents[i] =0.0;}
+    
+      
+  }
+  return *this;
+}
 
-  fFitPulse             = 1;
-  fEventProcessed       = 0;
-  
-} 
 
 //_______________________________________________________________________________________________________________
 AliTPCMonitorConfig::~AliTPCMonitorConfig() 
 {
   // Destructor
+  delete[] fSectorArr;
+  delete[] fComponents;
 } 
 
 
@@ -113,18 +251,18 @@ void AliTPCMonitorConfig::SetMainSize(Int_t mainx, Int_t mainy, Int_t borderx=10
 }
  
 //_______________________________________________________________________________________________________________
-void AliTPCMonitorConfig::SetBaseConfig(Float_t* conf_arr)
+void AliTPCMonitorConfig::SetBaseConfig(Float_t* confarr)
 {
-  // Set base configuration stored in array conf_arr 
+  // Set base configuration stored in array confarr 
   
-  fRangeBaseMin   = (int)conf_arr[0];
-  fRangeBaseMax   = (int)conf_arr[1];
+  fRangeBaseMin   = (int)confarr[0];
+  fRangeBaseMax   = (int)confarr[1];
   
-  fRangeMaxAdcMin = (int)conf_arr[2];
-  fRangeMaxAdcMax = (int)conf_arr[3];
+  fRangeMaxAdcMin = (int)confarr[2];
+  fRangeMaxAdcMax = (int)confarr[3];
   
-  fRangeSumMin    = (int)conf_arr[4];
-  fRangeSumMax    = (int)conf_arr[5];
+  fRangeSumMin    = (int)confarr[4];
+  fRangeSumMax    = (int)confarr[5];
   
   cout << " Set Ranges to : " << endl;
   cout << " range  base       :: " <<  fRangeBaseMin   << "\t :  " << fRangeBaseMax   << endl;
@@ -134,12 +272,12 @@ void AliTPCMonitorConfig::SetBaseConfig(Float_t* conf_arr)
 }
 
 //_______________________________________________________________________________________________________________
-void AliTPCMonitorConfig::ReadConfig(Char_t* nameconf) 
+void AliTPCMonitorConfig::ReadConfig(const Char_t* nameconf) 
 {
   // Read base configuration from file
   // Update main window size
 
-  string line;
+  //  string line;
   ifstream datin;
   datin.open(nameconf);
   
@@ -217,22 +355,25 @@ void AliTPCMonitorConfig::PrintConfig()
   cout << " Data Format             :: " <<  fFormat                                     << endl;
   cout << " File current            :: " <<  fFileCurrent                                << endl;
   
-  if(fFileLastSet)  {      cout << " File last           :: " <<  fFileLast << endl;    }
+  if(fFileLastSet)  {      cout << " File last           :: " <<  fFileLast.Data() << endl;    }
   return;                                                                                
   
 }
 
 //______________________________________________________________________________________________________________
-Char_t* AliTPCMonitorConfig::GetLastProcFile()
+const Char_t* AliTPCMonitorConfig::GetLastProcFile()
 {
   // Return name of last processed file
   // Get from file if written  
   if(!fFileLastSet)
     {
-      Char_t fnlast[256];
-      sprintf(fnlast,"AliTPCMonitorLastFile.txt");
-      ifstream datin(fnlast);
-      if(!datin) {  AliWarning("Could not read file containing  name of last processed file: Check permissions and path");}
+      ifstream datin("AliTPCMonitorLastFile.txt");
+      if(!datin.is_open()) {
+        AliWarning("Could not read file containing  name of last processed file: Check permissions and path");
+        fFileLast="";
+        fFileLastSet=0;
+        return fFileLast.Data();
+      }
       datin >> fFileLast;
       datin.close(); 
       fFileLastSet=1;
@@ -241,15 +382,13 @@ Char_t* AliTPCMonitorConfig::GetLastProcFile()
 }
 
 //_______________________________________________________________________________________________________________
-void AliTPCMonitorConfig::SetLastProcFile(Char_t* file)
+void AliTPCMonitorConfig::SetLastProcFile(const Char_t* file)
 {
   // Set name of last processed file 
   // Write name to a file 
   
-  sprintf(fFileLast,file);
-  Char_t fnlast[256];
-  sprintf(fnlast,"AliTPCMonitorLastFile.txt");
-  ofstream datout(fnlast);
+  fFileLast=file;
+  ofstream datout("AliTPCMonitorLastFile.txt");
   if(!datout) {  AliWarning("Could not write file containing name of last processed file: Check permissions and path");}
   datout << fFileLast << endl;
   datout.close();