-
+//-*- Mode: C++ -*-
+// $Id$
/**************************************************************************
* This file is property of and copyright by the ALICE HLT Project *
* All rights reserved. *
* @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