//* 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
* <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
int Configure(const char* arguments);
void RecPointToSpacePoint(AliHLTUInt8_t* outputPtr,AliHLTUInt32_t& size);
+ void RecpointToOutput(AliHLTITSClusterData *outputClusters, AliITSRecPoint *recpoint, int &clustIdx);
/*
* ---------------------------------------------------------------------------------
* Members - private
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)
};