-// @(#) $Id$
+//-*- Mode: C++ -*-
+// $Id$
#ifndef ALIHLTTPCAGENT_H
#define ALIHLTTPCAGENT_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
+//* This file is property of and copyright by the *
+//* ALICE Experiment at CERN, All rights reserved. *
+//* See cxx source for full Copyright notice *
-/** @file AliHLTTPCAgent.h
- @author Matthias Richter
- @date
- @brief Agent of the libAliHLTTPC library
-*/
+// @file AliHLTTPCAgent.h
+// @author Matthias Richter
+// @date
+// @brief Agent of the libAliHLTTPC library
+// @note
#include "AliHLTModuleAgent.h"
#include "AliHLTOUTHandlerEquId.h"
+class AliHLTOUTHandlerChain;
+
/**
* @class AliHLTTPCAgent
* This is the agent for the AliHLTTPC library.
*
+ * Defined reconstruction chains:
+ * - TPC-raw-data
+ * - TPC-hwcfdata
+ * - TPC-raw-clusters
+ * - TPC-clusters
+ * - TPC-global-merger
+ * - TPC-mcTrackMarker
+ * - TPC-compression
+ *
+ * Default reconstruction chains:
+ * - simulation: TPC-compression
+ * - reconstruction: TPC-compression-emulation
+ *
* @ingroup alihlt_system
*/
class AliHLTTPCAgent : public AliHLTModuleAgent {
/**
* Register components for the AliHLTTPC library.
- * @param pHandler [in] instance of the component handler
+ * @param [in] pHandler instance of the component handler
*/
int RegisterComponents(AliHLTComponentHandler* pHandler) const;
/**
* Get handler decription for TPC data in the HLTOUT data stream.
- * @param dt [in] data type of the block
- * @param spec [in] specification of the block
- * @param desc [out] handler description
+ * @param [in] dt data type of the block
+ * @param [in] spec specification of the block
+ * @param [out] desc handler description
* @return 1 if the agent can provide a handler, 0 if not
*/
int GetHandlerDescription(AliHLTComponentDataType dt,
/**
* Get specific handler for TPC data in the HLTOUT data stream.
- * @param dt [in] data type of the block
- * @param spec [in] specification of the block
+ * @param [in] dt data type of the block
+ * @param [in] spec specification of the block
* @return pointer to handler
*/
AliHLTOUTHandler* GetOutputHandler(AliHLTComponentDataType dt,
};
+ enum EOptions {
+ // indicate cluster id data blocks in the HLTOUT
+ kHaveCompressedClusterIdDataBlock = BIT(15)
+ };
+
protected:
private:
/** handler for TPC raw data in the HLTOUT stream */
AliHLTTPCRawDataHandler* fRawDataHandler; //!transient
- /** nof requests for TPC raw data handler */
- int fNofRawDataHandler; //!transient
- ClassDef(AliHLTTPCAgent, 1);
+ /** afterburner for {'TRAKSEGS':'TPC '} in the HLTOUT stream */
+ AliHLTOUTHandlerChain* fTracksegsDataHandler; //! transient
+
+ /// handler for {'CLUSTERS':'TPC '}
+ AliHLTOUTHandlerChain* fClustersDataHandler; //! transient
+
+ /// handler for data blocks related to data compression
+ AliHLTOUTHandlerChain* fCompressionMonitorHandler; //! transient
+
+ ClassDef(AliHLTTPCAgent, 0);
};
#endif