]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/AliHLTPHOSClusterizerComponent.h
Removing AliHLTPHOSRawAnalyzerChiSquareFit/h/cxx
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSClusterizerComponent.h
index 9c1b798799616876973b0b699348fb4f63c96100..bacd67eba11ca1777c085a78f27974a204d9b382 100644 (file)
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/** @file   AliHLTPHOSClusterizer.h
-    @author Ã˜ystein Djuvsland
-    @date   
-    @brief  A clusterizer component for PHOS HLT
-*/
-
+//-*- Mode: C++ -*-
+// $Id$
+
+
+/**************************************************************************
+ * This file is property of and copyright by the ALICE HLT Project        * 
+ * All rights reserved.                                                   *
+ *                                                                        *
+ * Primary Authors: Oystein Djuvsland                                     *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          * 
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
 
 #ifndef ALIHLTPHOSCLUSTERIZERCOMPONENT_H
 #define ALIHLTPHOSCLUSTERIZERCOMPONENT_H
 
-#include "AliHLTProcessor.h"
 
 
-class AliHLTPHOSClusterizer;
-class Rtypes;
-struct AliHLTPHOSRcuCellEnergyDataStruct;
-struct AliHLTPHOSClusterDataStruct;
-struct AliHLTPHOSRecPointDataStruct;
-struct AliHLTPHOSRecPointListDataStruct;
-
+/**
+ * Clusterizer component for PHOS HLT
+ *
+ * @file   AliHLTPHOSClusterizerComponent.h
+ * @author Oystein Djuvsland
+ * @date   
+ * @brief  A clusterizer component for PHOS HLT
+*/
 
-class AliHLTPHOSClusterizerComponent: public AliHLTProcessor
+// see below for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+
+#include "AliHLTCaloClusterizerComponent.h"
+
+#include <vector>
+
+// class AliHLTPHOSClusterizer;
+// class AliHLTPHOSRcuCellEnergyDataStruct;
+// class AliHLTPHOSRecPointDataStruct;
+// class AliHLTPHOSRecPointContainerStruct;
+// class AliHLTPHOSRecPointListDataStruct;
+// class AliHLTPHOSDigitContainerDataStruct;
+
+/**
+ * @class AliHLTPHOSClusterizerComponent
+ *
+ * Class for running clusterization for PHOS in HLT. It takes digits as input and
+ * gives reconstruction points as output. 
+ * 
+ * The component has the following component arguments:
+ * -clusterthreshold       The energy threshold for starting a new rec point
+ * -energythreshold        The energy threshold for including a digit in a
+ *                         rec point
+ * @ingroup alihlt_phos
+ */
+
+/**
+ * @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 */
   AliHLTPHOSClusterizerComponent();
-  ~AliHLTPHOSClusterizerComponent();
-  AliHLTPHOSClusterizerComponent(const AliHLTPHOSClusterizerComponent &);
-  AliHLTPHOSClusterizerComponent & operator = (const AliHLTPHOSClusterizerComponent &)
-    {
-      return *this;
-    }
+
+  /** Destructor */
+  virtual ~AliHLTPHOSClusterizerComponent();
+
+  /** interface function, see @ref AliHLTComponent for description */
   const char* GetComponentID();
-  void GetInputDataTypes(std::vector<AliHLTComponentDataType, std::allocator<AliHLTComponentDataType> >&);
 
-  AliHLTComponentDataType GetOutputDataType();
+  /** interface function, see @ref AliHLTComponent for description */
+  void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
 
-  void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
+  /** interface function, see @ref AliHLTComponent for description */
+  AliHLTComponentDataType GetOutputDataType();
 
-  Int_t DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*,
-               AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&,
-               std::vector<AliHLTComponentBlockData>&);
+  /** interface function, see @ref AliHLTComponent for description */
+  void GetOutputDataSize ( unsigned long& constBase, double& inputMultiplier );
 
+  /** interface function, see @ref AliHLTComponent for description */
   AliHLTComponent* Spawn();
 
- protected:
+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();
 
-  Int_t DoInit(int argc, const char** argv);
-  Int_t Deinit();
-  Int_t DoDeinit();
+    /** Initialise geometry objects */
+    virtual Int_t InitialiseGeometry();
 
- private:
-  AliHLTPHOSClusterizer* fClusterizerPtr;                       //Pointer to the clusterizer
-  AliHLTPHOSClusterDataStruct* fOutPtr;                         //Pointer to the struct of output clusters
-  AliHLTPHOSRecPointDataStruct* fRecPointStructArrayPtr;        //Pointer to the struct of output recpoints
-  AliHLTPHOSRecPointListDataStruct* fRecPointListPtr;           //Pointer to the struct of list of output recpoints
-  static const AliHLTComponentDataType fgkInputDataTypes[];     //HLT input data type
+private:
+  
+  /** Copy constructor,  not implemented */
+  AliHLTPHOSClusterizerComponent(const AliHLTPHOSClusterizerComponent &);
+  
+  /** Assignment operator, not implemented */
+  AliHLTPHOSClusterizerComponent & operator = (const AliHLTPHOSClusterizerComponent);
 
+  
 };
 
 #endif