]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliQA.cxx
New macro to keep track of timing performances of the segmentation methods (Laurent)
[u/mrichter/AliRoot.git] / STEER / AliQA.cxx
index f17405560de7494b5614d9a1ce2ff4e6d4a1accb..50f0a740b4a41587970789ef6f224082288eb4d0 100644 (file)
@@ -85,8 +85,8 @@ AliQA::AliQA() :
   fEventSpecies(new Bool_t[fNEventSpecies])
 {
   // default constructor
-  memset(fQA,0,fLengthQA);
-  memset(fEventSpecies,kFALSE,fNEventSpecies);
+  memset(fQA,0,fLengthQA*sizeof(ULong_t));
+  memset(fEventSpecies,kFALSE,fNEventSpecies*sizeof(Bool_t));
 }
 
 //____________________________________________________________________________
@@ -130,6 +130,23 @@ AliQA& AliQA::operator = (const AliQA& qa)
   return *this;
 }
 
+//_______________________________________________________________
+AliQA::AliQA(const Int_t qalength, ULong_t * qa, const Int_t eslength, Bool_t * es) :
+TNamed("QA", "Quality Assurance status"),
+fNdet(kNDET), 
+fNEventSpecies(eslength), 
+fLengthQA(qalength),
+fQA(new ULong_t[fLengthQA]), 
+fDet(kNULLDET),
+fTask(kNULLTASK), 
+fEventSpecie(AliRecoParam::kDefault), 
+fEventSpecies(new Bool_t[fNEventSpecies])
+{
+  // constructor to be used
+  memcpy(fQA, qa, fLengthQA*sizeof(ULong_t));
+  memcpy(fEventSpecies, es, fNEventSpecies*sizeof(Bool_t));
+}
+
 //_______________________________________________________________
 AliQA::AliQA(const DETECTORINDEX_t det) :
   TNamed("QA", "Quality Assurance status"),
@@ -144,8 +161,8 @@ AliQA::AliQA(const DETECTORINDEX_t det) :
 {
   // constructor to be used
   if (! CheckRange(det) ) fDet = kNULLDET ; 
-  memset(fQA,0,fLengthQA);
-  memset(fEventSpecies,kFALSE,fNEventSpecies);
+  memset(fQA,0,fLengthQA*sizeof(ULong_t));
+  memset(fEventSpecies,kFALSE,fNEventSpecies*sizeof(Bool_t));
 }
   
 //_______________________________________________________________
@@ -162,8 +179,8 @@ AliQA::AliQA(const ALITASK_t tsk) :
 {
   // constructor to be used in the AliRoot module (SIM, REC, ESD or ANA)
   if (! CheckRange(tsk) ) fTask = kNULLTASK ; 
-  memset(fQA,0,fLengthQA);
-  memset(fEventSpecies,kFALSE,fNEventSpecies);
+  memset(fQA,0,fLengthQA*sizeof(ULong_t));
+  memset(fEventSpecies,kFALSE,fNEventSpecies*sizeof(Bool_t));
 }
 
 //____________________________________________________________________________
@@ -512,6 +529,16 @@ AliQA * AliQA::Instance()
   return fgQA ;
 }
 
+//_______________________________________________________________
+AliQA * AliQA::Instance(const Int_t qalength, ULong_t * qa, const Int_t eslength, Bool_t * es)
+{
+  // Get an instance of the singleton. The only authorized way to call the ctor
+  
+  if ( ! fgQA) 
+    fgQA = new AliQA(qalength, qa, eslength, es) ;
+  return fgQA ;
+}
+
 //_______________________________________________________________
 AliQA * AliQA::Instance(const DETECTORINDEX_t det)
 {