]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/ITS/AliHLTITSClusterFinderComponent.h
Fix for IsTriggerInputFired,GetFiredTriggerInputs
[u/mrichter/AliRoot.git] / HLT / ITS / AliHLTITSClusterFinderComponent.h
index 6efc42271ed68ad5d96d6b0f2c2cf8b3a577c739..7a7e0699c716eed35b107687bf9ffddff36a742c 100644 (file)
@@ -7,11 +7,11 @@
 //* ALICE Experiment at CERN, All rights reserved.                         *
 //* See cxx source for full Copyright notice                               *
 
-/** @file   AliHLTITSClusterFinderComponent.cxx
-    @author Gaute Øvrebekk <st05886@alf.uib.no>
-    @date   
-    @brief  Component to run the offline clusterfinder.
-*/
+/// @file   AliHLTITSClusterFinderComponent.cxx
+/// @author Gaute Ovrebekk <st05886@alf.uib.no>
+/// @date   
+/// @brief  Component to run the offline clusterfinder.
+///
 
 #include "AliHLTProcessor.h"
 #include "AliRawReaderMemory.h"
 #include "AliHLTDataTypes.h"
 #include "TTree.h"
 #include "AliHLTComponentBenchmark.h"
+#include "AliITSRecPoint.h"
 
 class AliHLTITSClusterFinderSPD;
 class AliHLTITSClusterFinderSSD;
-
+class AliHLTITSClusterData;
+class AliLoader;
 
 /**
  * @class AliHLTITSClusterFinderComponent
@@ -77,6 +79,14 @@ class AliHLTITSClusterFinderSSD;
  * <h2>Output size:</h2>
  * TODO
  *
+ * <h2>Pending issues:</h2>
+ * There is a general problem with the streaming of the digit tree. A description
+ * is in the GetEvent function. For many events the hotfix for that caused bug
+ * https://savannah.cern.ch/bugs/?72815
+ * This has been fixed by accessing the AliLoader in the CF component via the
+ * global AliRunLoader. This breaks the idea of components, however it's used in
+ * simulation inside AliRoot only.
+ *
  * @ingroup alihlt_its_components
  */
 class AliHLTITSClusterFinderComponent : public AliHLTProcessor
@@ -179,6 +189,7 @@ class AliHLTITSClusterFinderComponent : public AliHLTProcessor
   int Configure(const char* arguments);
 
   void RecPointToSpacePoint(AliHLTUInt8_t* outputPtr,AliHLTUInt32_t& size);
+  void RecpointToOutput(AliHLTITSClusterData *outputClusters, AliITSRecPoint *recpoint, int &clustIdx);
   /*
    * ---------------------------------------------------------------------------------
    *                             Members - private
@@ -220,11 +231,24 @@ class AliHLTITSClusterFinderComponent : public AliHLTProcessor
   
   Int_t fFirstModule;                                         //!transient    
   Int_t fLastModule;                                          //!transient
+  Int_t fnClusters;                                           //!transient
 
   std::vector<AliITSRecPoint> fclusters;                      //!transient
 
   AliHLTComponentBenchmark fBenchmark;// benchmark
 
+  unsigned long fOutputSizeOffset; //! const offset for output size estimation
+  // 2011-01-27: the transport of digits via the AliLoaderPublisher is
+  // not working stably at the moment. In particular the size of the
+  // streamed digit tree seems not to be correlated with the content
+  // furthermore the CF implements a hotfix accessing the root file
+  // directly. The variable fInputMultiplierDigits will be used for a
+  // dynamic adaption of the buffer size. The component will then return
+  // -ENOSPC and AliHLTTask carries out the event processing once again
+  // with adjusted buffer size
+  float fInputMultiplierDigits; //! variable input multiplier for CF type digits
+  AliLoader* fpLoader; //! ITS loader for getting digit tree
+
   ClassDef(AliHLTITSClusterFinderComponent, 0)
     
 };