- moving initialisation of helper classes from the clusterizer constructor to DoInit
authorodjuvsla <odjuvsla@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Apr 2010 14:16:01 +0000 (14:16 +0000)
committerodjuvsla <odjuvsla@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Apr 2010 14:16:01 +0000 (14:16 +0000)
- adding detector name to constants class

HLT/CALO/AliHLTCaloClusterizerComponent.cxx
HLT/CALO/AliHLTCaloClusterizerComponent.h
HLT/CALO/AliHLTCaloConstants.h
HLT/EMCAL/AliHLTEMCALClusterizerComponent.cxx
HLT/EMCAL/AliHLTEMCALClusterizerComponent.h
HLT/EMCAL/AliHLTEMCALConstants.cxx
HLT/EMCAL/AliHLTEMCALConstants.h
HLT/EMCAL/AliHLTEMCALRecoParamHandler.cxx
HLT/PHOS/AliHLTPHOSClusterizerComponent.cxx
HLT/PHOS/AliHLTPHOSClusterizerComponent.h
HLT/PHOS/AliHLTPHOSConstants.h

index f4c9f32..8331bfe 100644 (file)
@@ -47,32 +47,11 @@ AliHLTCaloClusterizerComponent::AliHLTCaloClusterizerComponent(TString det):
   fDigitsPointerArray(0), 
   fOutputDigitsArray(0),
   fClusterizerPtr(0),
-  fDigitCount(0), 
-  fGeometryInitialised(true)
+  fDigitCount(0)
 {
   //See headerfile for documentation
-
-  fDigitsPointerArray = new AliHLTCaloDigitDataStruct*[fCaloConstants->GetNXCOLUMNSMOD()*fCaloConstants->GetNZROWSMOD()];
-
-  fClusterizerPtr = new AliHLTCaloClusterizer(det);
-
-  fClusterizerPtr->SetDigitArray(fDigitsPointerArray);
-   
-  fAnalyserPtr = new AliHLTCaloClusterAnalyser();
-  
-  if(det == "PHOS")
-  {
-     fAnalyserPtr->SetClusterType(kPHOSCluster);
-  }
-  else if(det == "EMCAL")
-  {
-     fAnalyserPtr->SetClusterType(kEMCALClusterv1);
-  }
-  else
-  {
-     fAnalyserPtr->SetClusterType(kUndef);
-  }
   
   
 }
 
@@ -87,21 +66,6 @@ delete fAnalyserPtr;
     }
 }
 
-
-int
-AliHLTCaloClusterizerComponent::Deinit()
-{
-  //See headerfile for documentation
-
-if (fClusterizerPtr)
-    {
-      delete fClusterizerPtr;
-      fClusterizerPtr = 0;
-    }
-
-  return 0;
-}
-
 int
 AliHLTCaloClusterizerComponent::DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
                                         AliHLTComponentTriggerData& /*trigData*/, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size,
@@ -126,7 +90,7 @@ AliHLTCaloClusterizerComponent::DoEvent(const AliHLTComponentEventData& evtData,
   UInt_t specification = 0;
   
   AliHLTCaloDigitDataStruct *digitDataPtr = 0;
-  if(fGeometryInitialised == false) InitialiseGeometry();
+
   // Adding together all the digits, should be put in standalone method  
   for ( ndx = 0; ndx < evtData.fBlockCnt; ndx++ )
     {
@@ -258,6 +222,27 @@ AliHLTCaloClusterizerComponent::DoInit(int argc, const char** argv )
 {
   //See headerfile for documentation
 
+  fDigitsPointerArray = new AliHLTCaloDigitDataStruct*[fCaloConstants->GetNXCOLUMNSMOD()*fCaloConstants->GetNZROWSMOD()];
+
+  fClusterizerPtr = new AliHLTCaloClusterizer(fCaloConstants->GetDETNAME());
+
+  fClusterizerPtr->SetDigitArray(fDigitsPointerArray);
+   
+  fAnalyserPtr = new AliHLTCaloClusterAnalyser();
+  
+  if(fCaloConstants->GetDETNAME() == "PHOS")
+  {
+     fAnalyserPtr->SetClusterType(kPHOSCluster);
+  }
+  else if(fCaloConstants->GetDETNAME() == "EMCAL")
+  {
+     fAnalyserPtr->SetClusterType(kEMCALClusterv1);
+  }
+  else
+  {
+     fAnalyserPtr->SetClusterType(kUndef);
+  }
+   InitialiseGeometry();
   if(fRecoParamsPtr)
   {
      if(!fRecoParamsPtr->GetParametersFromCDB())
@@ -280,6 +265,26 @@ AliHLTCaloClusterizerComponent::DoInit(int argc, const char** argv )
 
   return 0;
 }
+int AliHLTCaloClusterizerComponent::DoDeinit()
+{
+   // See header file for documentation
+   if(fDigitsPointerArray)
+   {
+      delete []  fDigitsPointerArray;
+      fDigitsPointerArray = 0;
+   }
+   if(fClusterizerPtr)
+   {
+      delete fClusterizerPtr;
+      fClusterizerPtr = 0;
+   }
+   if(fAnalyserPtr)
+   {
+      delete fAnalyserPtr;
+      fAnalyserPtr = 0;
+   }
+   return 0;
+}
 
 Int_t 
 AliHLTCaloClusterizerComponent::CompareDigits(const void *dig0, const void *dig1)
index 304d2e6..6e10dd4 100644 (file)
@@ -118,15 +118,6 @@ class AliHLTCaloClusterizerComponent : public AliHLTCaloProcessor, public AliHLT
     /** Destructor */
     virtual ~AliHLTCaloClusterizerComponent();
 
-//     /** interface function, see @ref AliHLTComponent for description */
-//     void GetInputDataTypes ( std::vector<AliHLTComponentDataType>& list );
-
-//     /** interface function, see @ref AliHLTComponent for description */
-//     AliHLTComponentDataType GetOutputDataType();
-
-//     /** interface function, see @ref AliHLTComponent for description */
-//     void GetOutputDataSize ( unsigned long& constBase, double& inputMultiplier );
-
     /** interface function, see @ref AliHLTComponent for description */
 
     using  AliHLTCaloProcessor::DoEvent;
@@ -144,10 +135,13 @@ class AliHLTCaloClusterizerComponent : public AliHLTCaloProcessor, public AliHLT
 
     /** interface function, see @ref AliHLTComponent for
        description */
-    int DoInit ( int argc, const char** argv );
+    virtual int DoInit ( int argc, const char** argv );
 
     /** interface function, see @ref AliHLTComponent for description */
-    int Deinit();
+    virtual int DoDeinit();
+
+    /** Initialise geometry objects */
+    virtual Int_t InitialiseGeometry() = 0;
 
     /** interface function, see @ref AliHLTComponent for description */
     int Reconfigure ( const char* cdbEntry, const char* chainId );
@@ -163,13 +157,7 @@ class AliHLTCaloClusterizerComponent : public AliHLTCaloProcessor, public AliHLT
     
     /** Pointer to reconstruction parameters handler */
     AliHLTCaloRecoParamHandler *fRecoParamsPtr; //! transient
-    
-    /** Initialise geometry objects */
-    virtual Int_t InitialiseGeometry() = 0; 
-    
-    /** */
-    Bool_t fGeometryInitialised;
-     
+
   private:
 
     /** Array of pointers to our digits */
index 725be2c..65d3d35 100644 (file)
@@ -90,6 +90,8 @@ public:
   // end
   virtual Int_t GetNRCUSPERSECTOR() const = 0;                                                 
   virtual Int_t GetDDLOFFSET() const = 0;
+  
+  virtual TString GetDETNAME() const = 0;
 
   
 private:
index e19334a..10bb7dd 100644 (file)
@@ -20,6 +20,7 @@
 #include "AliHLTCaloRecPointDataStruct.h"
 #include "AliHLTCaloRecPointHeaderStruct.h"
 #include "AliHLTEMCALGeometry.h"
+#include "AliHLTEMCALRecoParamHandler.h"
 #include "AliHLTCaloClusterAnalyser.h"
 
 
@@ -48,7 +49,6 @@ AliHLTEMCALClusterizerComponent::AliHLTEMCALClusterizerComponent():
 {
   //See headerfile for documentation
 
-  fGeometryInitialised = false;
   fDataOrigin = const_cast<char*>(kAliHLTDataOriginEMCAL);
 
   //AliHLTEMCALGeometry *geom = new AliHLTEMCALGeometry;
@@ -101,10 +101,27 @@ AliHLTEMCALClusterizerComponent::Spawn()
 
   return new AliHLTEMCALClusterizerComponent();
 }
+int AliHLTEMCALClusterizerComponent::DoInit(int argc, const char** argv)
+{
+    fRecoParamsPtr = new AliHLTEMCALRecoParamHandler();
+
+    return AliHLTCaloClusterizerComponent::DoInit(argc, argv);
+}
+
+int AliHLTEMCALClusterizerComponent::DoDeinit()
+{
+   if(fRecoParamsPtr)
+   {
+      delete fRecoParamsPtr;
+      fRecoParamsPtr = 0;
+   }
+    return AliHLTCaloClusterizerComponent::DoDeinit();
+}
+
 
 int AliHLTEMCALClusterizerComponent::InitialiseGeometry()
 {
         fAnalyserPtr->SetGeometry(new AliHLTEMCALGeometry());
-       fGeometryInitialised = true;
+
        return 0;
 }
index d5024a1..daa24de 100644 (file)
@@ -136,12 +136,13 @@ class AliHLTEMCALClusterizerComponent : public AliHLTCaloClusterizerComponent
 
 protected:
    
-   virtual int DoInit(){return 0;}
+   /** interface function, see @ref AliHLTComponent for description */
+    int DoInit ( int argc, const char** argv );
    
-  virtual int DoDeinit(){ return 0;}
-  virtual int Deinit() {return 0; }
-  
-  virtual int InitialiseGeometry();
+    /** interface function, see @ref AliHLTComponent for description */
+    virtual int DoDeinit();
+   
+   virtual int InitialiseGeometry();
 
 private:
   
index e6632de..ce4000e 100644 (file)
@@ -79,7 +79,8 @@ AliHLTEMCALConstants::AliHLTEMCALConstants() :
   fkCRITICENERGY(8),
   fkCJ(0.5),
   fkNRCUSPERSECTOR(4),
-  fkDDLOFFSET(4608)
+  fkDDLOFFSET(4608),
+  fkDETNAME("EMCAL")
 {
   //Default constructor
 }
index 7fe5dfc..b9844ec 100644 (file)
@@ -95,7 +95,7 @@ public:
   Float_t GetGJ() const { return fkCJ;} //FR
   Int_t GetNRCUSPERSECTOR() const { return fkNRCUSPERSECTOR; }                                         
   Int_t GetDDLOFFSET() const { return fkDDLOFFSET; }
-
+  TString GetDETNAME() const { return fkDETNAME; }
 
 private:
 
@@ -166,6 +166,8 @@ private:
   
   const Int_t fkDDLOFFSET;   //Constant
 
+  const TString fkDETNAME;  //Constant
+
   ClassDef(AliHLTEMCALConstants, 1)
 
 };
index 3b90797..6508439 100644 (file)
@@ -41,6 +41,7 @@ Int_t
 AliHLTEMCALRecoParamHandler::GetParametersFromCDB()
 {
   // Avoiding linking error in EMCAL
+  return 0;
 }
 
 
index f0aea00..251b7d9 100644 (file)
@@ -51,10 +51,6 @@ AliHLTPHOSClusterizerComponent::AliHLTPHOSClusterizerComponent():
 
   //AliHLTPHOSGeometry *geom = new AliHLTPHOSGeometry;
   
-  fAnalyserPtr->SetGeometry(new AliHLTPHOSGeometry);
-  
-  fRecoParamsPtr = new AliHLTPHOSRecoParamHandler();
-  
 }
 
 AliHLTPHOSClusterizerComponent::~AliHLTPHOSClusterizerComponent()
@@ -100,3 +96,30 @@ AliHLTPHOSClusterizerComponent::Spawn()
 
   return new AliHLTPHOSClusterizerComponent();
 }
+
+int AliHLTPHOSClusterizerComponent::DoInit(int argc, const char** argv)
+{
+   
+   fRecoParamsPtr = new AliHLTPHOSRecoParamHandler(); 
+    
+    return AliHLTCaloClusterizerComponent::DoInit(argc, argv);
+}
+
+int AliHLTPHOSClusterizerComponent::DoDeinit()
+{
+    if(fRecoParamsPtr) 
+    {
+       delete fRecoParamsPtr;
+       fRecoParamsPtr = 0;
+    }
+    return AliHLTCaloClusterizerComponent::DoDeinit();
+}
+
+
+Int_t AliHLTPHOSClusterizerComponent::InitialiseGeometry()
+{
+  fAnalyserPtr->SetGeometry(new AliHLTPHOSGeometry);
+  return 0;
+}
index c9ac713..77f06e0 100644 (file)
@@ -135,11 +135,15 @@ class AliHLTPHOSClusterizerComponent : public AliHLTCaloClusterizerComponent
   AliHLTComponent* Spawn();
 
 protected:
-   virtual int DoInit() {return 0; }
-  virtual int DoDeinit(){ return 0;}
-  virtual int Deinit() {return 0; }
+   
+   /** interface function, see @ref AliHLTComponent for description */
+    int DoInit ( int argc, const char** argv );
+   
+    /** interface function, see @ref AliHLTComponent for description */
+    virtual int DoDeinit();
+
     /** Initialise geometry objects */
-    virtual Int_t InitialiseGeometry(){return 0;} 
+    virtual Int_t InitialiseGeometry();
 
 private:
   
index bf78110..b741d63 100644 (file)
@@ -12,6 +12,7 @@
 
 #ifndef ALIHLTPHOSCONSTANTS_H
 #define ALIHLTPHOSCONSTANTS_H
+#include <TString.h>
 
 class AliHLTCaloConstants;
 
@@ -78,6 +79,8 @@ public:
   Int_t GetNRCUSPERSECTOR() const { return fkNRCUSPERSECTOR; }                                         
   
   Int_t GetDDLOFFSET() const { return fkDDLOFFSET; }
+  
+  TString GetDETNAME() const { return fkDETNAME; }
 
 private:
 
@@ -138,7 +141,8 @@ private:
   
   const Int_t fkDDLOFFSET;  //Constant
 
-
+  const TString fkDETNAME;  //Constant
+   
   ClassDef(AliHLTPHOSConstants, 1);
 
 };