]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/AliHLTPHOSRawAnalyzerComponentv3.h
removing global component instances formerly used for registration; registration...
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerComponentv3.h
index f48ab391f248cfb47a71cfbf433e1f47f3d5abd4..607b3410cc15818f2f3e5b1134533db871388dc7 100644 (file)
@@ -1,4 +1,5 @@
-
+//-*- Mode: C++ -*-
+// $Id$
 /**************************************************************************
  * This file is property of and copyright by the ALICE HLT Project        * 
  * All rights reserved.                                                   *
@@ -25,7 +26,7 @@
  * @file   AliHLTPHOSRawAnalyzerComponentv3.h
  * @author Oystein Djuvsland
  * @date   
- * @brief  A raw analyzer component for PHOS HLT
+ * @brief  A clusterizer component for PHOS HLT
 */
 
 // see below for class documentation
 // or
 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
 
-#include "AliHLTPHOSRcuProcessor.h"
-
-
+#include "AliHLTCaloRawAnalyzerComponentv3.h"
 
 class AliHLTPHOSRawAnalyzer;
-class AliHLTPHOSRcuCellEnergyDataStruct;
-class AliHLTPHOSMapper;
-class AliHLTPHOSSanityInspector;
-class AliHLTPHOSDigitMaker;
-class AliHLTPHOSDigitContainerDataStruct;
-class AliRawReaderMemory;
-class AliAltroRawStreamV3;
-class AliHLTPHOSChannelDataStruct;
-
-//class RawDataWriter;
-
 
 /**
  * @class AliHLTPHOSRawAnalyzerComponentv3
+ * This the new and fast version of the component taking care of the decoding and energy and timing 
+ * extraction of the raw data from PHOS.
+ *
+ * <h2>General properties:</h2>
+ *
+ * Component ID: \b PhosRawAnalyzerv3 <br>
+ * Library: \b libAliHLTPHOS.so     <br>
+ * Input Data Types: @ref <br>
+ * Output Data Types: @ref AliHLTPHOSDefinitions::fgkChannelDataType<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 -offset      <i> value </i> <br>
+ *      gives the offset added to the data during zero suppression (default value: 0)
+ * \li -bunchsizecut <i> value </i> <br>
+ *      minimum number of samples a bunch must contain to be considered  (default value: 0)
+ * \li -minpeakposition <i> value </i> <br>
+ *      cut on minimum postion of the peak in the bunch (defaul value: 0)
+ * \li -maxpeakposition <i> value </i> <br>
+ *      cut on maximum postion of the peak in the bunch (defaul value: 100)
+ *
+ * <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. (Soon)
+ *
  * @ingroup alihlt_phos
  */ 
 
 
-class AliHLTPHOSRawAnalyzerComponentv3 : public AliHLTPHOSRcuProcessor
-{
- public:
-
-  /** Standard constructor */
-  AliHLTPHOSRawAnalyzerComponentv3();
-
-  /** Destructor */
-  virtual ~AliHLTPHOSRawAnalyzerComponentv3();
+//#include "AliCaloConstants.h"
 
-  /** interface function, see @ref AliHLTComponent for description */
-  virtual int DoInit(int argc =0, const char** argv  = 0);
+//using namespace Algo;
 
-  /** interface function, see @ref AliHLTComponent for description */
-  virtual int Deinit();
-
-  /** interface function, see @ref AliHLTComponent for description */
-  virtual const char* GetComponentID() = 0;
-
-  /** interface function, see @ref AliHLTComponent for description */
-  virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
-
-  /** interface function, see @ref AliHLTComponent for description */
-  virtual AliHLTComponentDataType GetOutputDataType();
-
-  /** interface function, see @ref AliHLTComponent for description */
-  virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
-
-  /** interface function, see @ref AliHLTComponent for description */
-  virtual AliHLTComponent* Spawn() = 0; 
 
+class AliHLTPHOSRawAnalyzerComponentv3 : public AliHLTCaloRawAnalyzerComponentv3
+{
+ public:
+  AliHLTPHOSRawAnalyzerComponentv3( fitAlgorithm algo ); /** Standard constructor */
+  virtual ~AliHLTPHOSRawAnalyzerComponentv3();
+  virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);/** interface function, see @ref AliHLTComponent for description */
+  virtual AliHLTComponentDataType GetOutputDataType();/** interface function, see @ref AliHLTComponent for description */
+  virtual const char* GetComponentID() = 0; 
+  virtual AliHLTComponent* Spawn() = 0; /** interface function, see @ref AliHLTComponent for description */
  protected:
+    
+  /** interface function, see @ref AliHLTComponent for description */
+  virtual int DoInit(int argc, const char** argv);
 
-  /** 
-   * Check for correct input data type (raw data from PHOS) 
-   * @datatype is the data type specifier
-   * @return true if the data type is correct
-   */
-  virtual bool CheckInputDataType(const AliHLTComponentDataType &datatype);
-
+    
+  virtual void InitMapping(const int specification);
+  
  private:
-
-  /** Keep the copy constructor private since it should not be used */
+  AliHLTPHOSRawAnalyzerComponentv3();
   AliHLTPHOSRawAnalyzerComponentv3(const AliHLTPHOSRawAnalyzerComponentv3 & );
-
-  /** Keep the assignement operator private since it should not be used */
   AliHLTPHOSRawAnalyzerComponentv3 & operator = (const AliHLTPHOSRawAnalyzerComponentv3 &);
   
-  /** 
-   * Initialise the mapping according to the specification
-   * @specification is the specification provided by the HLT framework
-   */
-  virtual void InitMapping(const int specification);
-
-
 };
 
 #endif