#ifndef ALIHLTTPCCLUSTERFINDERCOMPONENT_H
#define ALIHLTTPCCLUSTERFINDERCOMPONENT_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+/* This file is property of and copyright by the ALICE HLT Project *
+ * ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
/** @file AliHLTTPCClusterFinderComponent.h
@brief The TPC cluster finder component.
*/
+// see below for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+
#include "AliHLTProcessor.h"
-#include "AliHLTTPCDefinitions.h"
-#include "AliHLTTPCDigitReaderPacked.h"
-#include "AliHLTTPCDigitReaderUnpacked.h"
-#include "AliHLTTPCDigitReaderRaw.h"
class AliHLTTPCClusterFinder;
+class AliHLTTPCPadArray;
+class AliHLTTPCDigitReader;
/**
* @class AliHLTTPCClusterFinderComponent
* instantiate different digit readers depending on the arguments.
*
* The component has the following component arguments:
- * - rawreadermode the mode for the @ref AliHLTTPCDigitReaderRaw
+ * - rawreadermode the mode for the @ref AliHLTTPCDigitReaderRaw, use -2 if using unsorted
* - adc-threshold ADC count threshold for zero suppression, if <0 the base line
* calculation and subtraction is switched off
* - pp-run set parameters specific to a pp run; currently this switches
- * cluster deconvolution off for pp runs
+ * cluster deconvolution off for pp runs (not true for unsorted reading)
+ * - unsorted if 1 the data will be read unsorted in to a PadArray object. This should
+ * only be done on patch level since it use a lot of memory
+ * - patch specify on which patch to resd the data unsorted
*
* @ingroup alihlt_tpc
*/
* @param packed whether to use the packed or unpacked reader
*/
AliHLTTPCClusterFinderComponent(bool packed);
- /** not a valid copy constructor, defined according to effective C++ style */
- AliHLTTPCClusterFinderComponent(const AliHLTTPCClusterFinderComponent&);
- /** not a valid assignment op, but defined according to effective C++ style */
- AliHLTTPCClusterFinderComponent& operator=(const AliHLTTPCClusterFinderComponent&);
/** destructor */
virtual ~AliHLTTPCClusterFinderComponent();
AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
private:
+ /** copy constructor prohibited */
+ AliHLTTPCClusterFinderComponent(const AliHLTTPCClusterFinderComponent&);
+ /** assignment operator prohibited */
+ AliHLTTPCClusterFinderComponent& operator=(const AliHLTTPCClusterFinderComponent&);
/** the cluster finder object */
AliHLTTPCClusterFinder* fClusterFinder; //!transient
/** the reader object for data decoding */
AliHLTTPCDigitReader* fReader; //!transient
- bool fClusterDeconv;
- float fXYClusterError;
- float fZClusterError;
+ bool fClusterDeconv; //!transient
+ float fXYClusterError; //!transient
+ float fZClusterError; //!transient
/**
* switch to indicated the reader
* use fPackedSwitch = true for packed inputtype "gkDDLPackedRawDataType"
*/
Int_t fPackedSwitch; // see above
- ClassDef(AliHLTTPCClusterFinderComponent, 0)
+ /*
+ * Reads the data the new unsorted way if true
+ *
+ */
+ Int_t fUnsorted; //!transient
+
+ /*
+ * Patch number to be read, currently given as component argument,
+ * will be changed later.
+ */
+ Int_t fPatch; //!transient
+
+ /*
+ * Pointer to a PadArray object containing a double array of all the pads in
+ * the current patch.
+ */
+ AliHLTTPCPadArray * fPadArray; //!transient
+
+ ClassDef(AliHLTTPCClusterFinderComponent, 1)
};
#endif