]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSSDigitizer.cxx
Quality assurance added (Yves Schutz)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSSDigitizer.cxx
index bcffe972ec534f07e02cc8ef7e57cb171eee9711..1e5b0d5dcd1395f8cccf01870b91144f304dfe02 100644 (file)
@@ -19,6 +19,9 @@
 /* History of cvs commits:
  *
  * $Log$
+ * Revision 1.50  2006/08/28 10:01:56  kharlov
+ * Effective C++ warnings fixed (Timur Pocheptsov)
+ *
  * Revision 1.49  2006/05/10 06:42:53  kharlov
  * Remove redundant loop over primaries
  *
@@ -77,7 +80,7 @@
 #include "AliPHOSGetter.h"
 #include "AliPHOSHit.h"
 #include "AliPHOSSDigitizer.h"
-//#include "AliMemoryWatcher.h"
+#include "AliPHOSQualAssDataMaker.h" 
 
 ClassImp(AliPHOSSDigitizer)
 
@@ -92,9 +95,11 @@ AliPHOSSDigitizer::AliPHOSSDigitizer() :
   fInit(kFALSE),
   fSDigitsInRun(0),
   fFirstEvent(0),
-  fLastEvent(0)
+  fLastEvent(0), 
+  fQADM (0x0)
 {
   // ctor
+  // Intialize the quality assurance data maker        
 }
 
 //____________________________________________________________________________ 
@@ -108,12 +113,46 @@ AliPHOSSDigitizer::AliPHOSSDigitizer(const char * alirunFileName,
   fInit(kFALSE),
   fSDigitsInRun(0),
   fFirstEvent(0),
-  fLastEvent(0)
+  fLastEvent(0), 
+  fQADM (0x0)
 {
   // ctor
   InitParameters() ; 
   Init();
   fDefaultInit = kFALSE ; 
+  // Intialize the quality assurance data maker        
+  GetQualAssDataMaker()->Init(AliQualAss::kHITS) ;
+  GetQualAssDataMaker()->Init(AliQualAss::kSDIGITS) ; 
+}
+
+//____________________________________________________________________________
+AliPHOSSDigitizer::AliPHOSSDigitizer(const AliPHOSSDigitizer& sd) :
+  TTask(sd.GetName(), sd.GetTitle()),
+  fA(sd.fA), fB(sd.fB),
+  fPrimThreshold(sd.fPrimThreshold),
+  fDefaultInit(kFALSE),
+  fEventFolderName(sd.fEventFolderName),
+  fInit(kFALSE),
+  fSDigitsInRun(sd.fSDigitsInRun),
+  fFirstEvent(sd.fFirstEvent),
+  fLastEvent(sd.fLastEvent), 
+  fQADM (sd.fQADM)
+{ 
+  // cpy ctor
+  // Intialize the quality assurance data maker        
+  GetQualAssDataMaker()->Init(AliQualAss::kHITS) ;
+  GetQualAssDataMaker()->Init(AliQualAss::kSDIGITS) ; 
+}
+
+
+//_____________________________________________________________________________
+AliPHOSSDigitizer& AliPHOSSDigitizer::operator = (const AliPHOSSDigitizer& qa)
+{
+// assignment operator
+
+  this->~AliPHOSSDigitizer();
+  new(this) AliPHOSSDigitizer(qa);
+  return *this;
 }
 
 //____________________________________________________________________________ 
@@ -124,7 +163,9 @@ AliPHOSSDigitizer::~AliPHOSSDigitizer() {
   AliPHOSGetter * gime =
     AliPHOSGetter::Instance();  
   gime->PhosLoader()->CleanSDigitizer();
+  delete fQADM ; 
 }
+
 //____________________________________________________________________________ 
 void AliPHOSSDigitizer::Init()
 {
@@ -147,6 +188,8 @@ void AliPHOSSDigitizer::Init()
   gime->PostSDigitizer(this);
   gime->PhosLoader()->GetSDigitsDataLoader()->GetBaseTaskLoader()->SetDoNotReload(kTRUE);
  
+  fQADM = new AliPHOSQualAssDataMaker() ;  
+
 }
 
 //____________________________________________________________________________ 
@@ -230,6 +273,14 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
       digit->SetIndexInList(i) ;     
     }
 
+    // make Quality Assurance data
+
+    GetQualAssDataMaker()->SetData(hits) ; 
+    GetQualAssDataMaker()->Exec(AliQualAss::kHITS) ; 
+    GetQualAssDataMaker()->SetData(sdigits) ; 
+    GetQualAssDataMaker()->Exec(AliQualAss::kSDIGITS) ; 
+
+
     //Now write SDigits
 
     
@@ -253,6 +304,10 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
     //memwatcher.Watch(ievent); 
   }// event loop
   
+  //Write the quality assurance data 
+  GetQualAssDataMaker()->Finish(AliQualAss::kHITS) ;
+  GetQualAssDataMaker()->Finish(AliQualAss::kSDIGITS) ;
+
   Unload();
 
   //  gime->PhosLoader()->GetSDigitsDataLoader()->GetBaseTaskLoader()->SetDoNotReload(kTRUE);