]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/AliHLTPHOSClusterizerComponent.h
removing the HLT autoconf build system, however keep on using that for the
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSClusterizerComponent.h
index d72e598d1b29d82b4d0280b96c977de90b3aea1b..bacd67eba11ca1777c085a78f27974a204d9b382 100644 (file)
 // or
 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
 
-#include "AliHLTPHOSProcessor.h"
+#include "AliHLTCaloClusterizerComponent.h"
 
-class AliHLTPHOSClusterizer;
-class AliHLTPHOSRcuCellEnergyDataStruct;
-class AliHLTPHOSRecPointDataStruct;
-class AliHLTPHOSRecPointContainerStruct;
-class AliHLTPHOSRecPointListDataStruct;
-class AliHLTPHOSDigitContainerDataStruct;
+#include <vector>
+
+// class AliHLTPHOSClusterizer;
+// class AliHLTPHOSRcuCellEnergyDataStruct;
+// class AliHLTPHOSRecPointDataStruct;
+// class AliHLTPHOSRecPointContainerStruct;
+// class AliHLTPHOSRecPointListDataStruct;
+// class AliHLTPHOSDigitContainerDataStruct;
 
 /**
  * @class AliHLTPHOSClusterizerComponent
@@ -58,8 +60,57 @@ class AliHLTPHOSDigitContainerDataStruct;
  *                         rec point
  * @ingroup alihlt_phos
  */
-class AliHLTPHOSClusterizerComponent: public AliHLTPHOSProcessor
+
+/**
+ * @class AliHLTPHOSClusterizerComponent
+ *
+ * Class for running clusterization for PHOS in HLT. 
+ *
+ * <h2>General properties:</h2>
+ *
+ * Component ID: \b PhosClusterizer <br>
+ * Library: \b libAliHLTPHOS.so     <br>
+ * Input Data Types: @ref AliHLTPHOSDefinitions::fgkDigitDataType<br>
+ * Output Data Types: @ref AliHLTPHOSDefinitions::fgkRecPointDataType<br>
+ *
+ * <h2>Mandatory arguments:</h2>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
+ * \li No mandatory arguments for component                           <br>
+ *
+ * <h2>Optional arguments:</h2>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
+ * \li -digitthreshold      <i> value </i> <br>
+ *      threshold for a digit to be added to a rec point in GeV (default value: 0.03)
+ * \li -recpointthreshold <i> value </i> <br>
+ *      threshold for starting a new rec point  (default value: 0.2)
+ * \li -partitionmode
+ *      if we want to do clusterisation on the partition level (not available...) (defaul value: false)
+ *
+ * <h2>Configuration:</h2>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
+ * \li No configuration arguments 
+ *
+ * <h2>Default CDB entries:</h2>
+ * \li No CDB entry yet, will come.
+ *
+ * <h2>Performance:</h2>
+ * Pretty good (~ 3 kHz), depends on amount of data...
+ *
+ * <h2>Memory consumption:</h2>
+ * Depends on the amount of data, but pretty godd
+ *
+ * <h2>Output size:</h2>
+ * Depends on the amount of data...
+ *
+ * More detailed description. (At some point...)
+ *
+ * @ingroup alihlt_phos
+ */ 
+
+class AliHLTPHOSClusterizerComponent : public AliHLTCaloClusterizerComponent
+//class AliHLTPHOSClusterizerComponent : public AliHLTCaloProcessor
 {
+  
  public:
 
   /** Constructor */
@@ -68,26 +119,6 @@ class AliHLTPHOSClusterizerComponent: public AliHLTPHOSProcessor
   /** Destructor */
   virtual ~AliHLTPHOSClusterizerComponent();
 
-  /** Copy constructor */  
-  AliHLTPHOSClusterizerComponent(const AliHLTPHOSClusterizerComponent &) : 
-    AliHLTPHOSProcessor(),
-    fAllDigitsPtr(0),
-    fClusterizerPtr(0),
-    fRecPointStructArrayPtr(0),
-    fDigitCount(0),
-    fModuleClusterizationMode(0),
-    fNoCrazyness(0)
-  {
-    //Copy constructor not implemented
-  }
-  
-  /** Assignment */
-  AliHLTPHOSClusterizerComponent & operator = (const AliHLTPHOSClusterizerComponent)
-  {
-    //Assignment
-    return *this; 
-  }
-
   /** interface function, see @ref AliHLTComponent for description */
   const char* GetComponentID();
 
@@ -98,48 +129,31 @@ class AliHLTPHOSClusterizerComponent: public AliHLTPHOSProcessor
   AliHLTComponentDataType GetOutputDataType();
 
   /** interface function, see @ref AliHLTComponent for description */
-  void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
+  void GetOutputDataSize ( unsigned long& constBase, double& inputMultiplier );
 
-  /** interface function, see @ref AliHLTComponent for description */
-  
-  using  AliHLTPHOSProcessor::DoEvent;
-  int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
-               AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size,
-               std::vector<AliHLTComponentBlockData>& outputBlocks);
-  // Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
   /** interface function, see @ref AliHLTComponent for description */
   AliHLTComponent* Spawn();
-  
-protected:
-
-  /** interface function, see @ref AliHLTComponent for description */
-  int DoInit(int argc, const char** argv);
-
-  /** interface function, see @ref AliHLTComponent for description */
-  int Deinit();
 
- private:
-
-  /** All digits in the event */
-  AliHLTPHOSDigitContainerDataStruct *fAllDigitsPtr;            //! transient
-
-  /** Pointer to the clusterizer it self */
-  AliHLTPHOSClusterizer* fClusterizerPtr;                       //! transient
-
-  /** Pointer to rec points used in clusterization */
-  AliHLTPHOSRecPointDataStruct* fRecPointStructArrayPtr;        //! transient
-
-  /** Number of digits in event */
-  Int_t fDigitCount;              
+protected:
+   
+   /** interface function, see @ref AliHLTComponent for description */
+    int DoInit ( int argc, const char** argv );
+   
+    /** interface function, see @ref AliHLTComponent for description */
+    virtual int DoDeinit();
 
-  /** If the clusterizer is doing clusterization of the whole module */
-  Bool_t fModuleClusterizationMode;                             //COMMENT
+    /** Initialise geometry objects */
+    virtual Int_t InitialiseGeometry();
 
-  /** If one should consider crazyness or not */                              
-  Bool_t fNoCrazyness;                                          //COMMENT
+private:
+  
+  /** Copy constructor,  not implemented */
+  AliHLTPHOSClusterizerComponent(const AliHLTPHOSClusterizerComponent &);
+  
+  /** Assignment operator, not implemented */
+  AliHLTPHOSClusterizerComponent & operator = (const AliHLTPHOSClusterizerComponent);
 
-  /** interface function, see @ref AliHLTComponent for description */
-  static const AliHLTComponentDataType fgkInputDataTypes[];     //COMMENT
+  
 };
 
 #endif