--- /dev/null
+// $Id$
+
+#ifndef ALIHLTCOMMONCDBENTRIES_H
+#define ALIHLTCOMMONCDBENTRIES_H
+//* 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 AliHLTCommonCDBEntries.h
+ @author Matthias Richter
+ @date
+ @brief Common CDB Entries for the ALICE HLT
+*/
+
+/**
+ * @defgroup alihlt_component_cdb Common CDB Entries
+ * @ingroup alihlt_component
+ */
+
+
+/**
+ * Uniform magnetic field of the solenoid.
+ * @ingroup alihlt_component_cdb
+ */
+#define kAliHLTCDBSolenoidBz "HLT/ConfigHLT/SolenoidBz"
+
+#endif
#include <string>
#include "AliHLTLogging.h"
#include "AliHLTDataTypes.h"
-//#include "AliHLTDefinitions.h"
+#include "AliHLTCommonCDBEntries.h"
/* Matthias Dec 2006
* The names have been changed for Aliroot's coding conventions sake
kAliHLTESDObjectDataTypeID,
kAliHLTDataOriginAny
};
+
/** ESD tree data specification */
const AliHLTComponentDataType kAliHLTDataTypeESDTree = (AliHLTComponentDataType) {
sizeof(AliHLTComponentDataType),
kAliHLTDataOriginAny
};
+/** AliRoot TreeD data specification */
+const AliHLTComponentDataType kAliHLTDataTypeAliTreeD = (AliHLTComponentDataType) {
+ sizeof(AliHLTComponentDataType),
+ kAliHLTTreeDDataTypeID,
+ kAliHLTDataOriginAny
+};
+
+/** AliRoot TreeR data specification */
+const AliHLTComponentDataType kAliHLTDataTypeAliTreeR = (AliHLTComponentDataType) {
+ sizeof(AliHLTComponentDataType),
+ kAliHLTTreeRDataTypeID,
+ kAliHLTDataOriginAny
+};
+
/** 16 bit Hardware address selection data specification, origin is 'any' */
const AliHLTComponentDataType kAliHLTDataTypeHwAddr16 = (AliHLTComponentDataType) {
sizeof(AliHLTComponentDataType),
* gkAliHLTDDLListSize set from 29 to 30 according to new PubSub
* specs
* 5 Data types for Run and Event summary, and for monitoring added
+ * 6 Common data types for TreeD and TreeR defined
*/
-#define ALIHLT_DATA_TYPES_VERSION 5
+#define ALIHLT_DATA_TYPES_VERSION 6
//////////////////////////////////////////////////////////////////////////
//
//
//////////////////////////////////////////////////////////////////////////
-/** field size of datat type origin */
+/** field size of datat type origin
+ * @ingroup alihlt_component_datatypes
+ */
const int kAliHLTComponentDataTypefOriginSize=4;
-/** invalid data origin */
+/** invalid data origin
+ * @ingroup alihlt_component_datatypes
+ */
# define kAliHLTDataOriginVoid "\0\0\0"
/** old invalid data origin, kept for backward compatibility */
# define kAliHLTVoidDataOrigin "\0\0\0"
-/** wildcard data type origin */
+/** wildcard data type origin
+ * @ingroup alihlt_component_datatypes
+ */
# define kAliHLTDataOriginAny "***"
/** old wildcard data type origin, kept for backward compatibility */
# define kAliHLTAnyDataOrigin "***"
-/** HLT out */
+/** Data origin HLT out
+ * @ingroup alihlt_component_datatypes
+ */
extern const char kAliHLTDataOriginOut[kAliHLTComponentDataTypefOriginSize];
-/** HLT/PubSub private internal */
+/** Data origin HLT/PubSub private internal
+ * @ingroup alihlt_component_datatypes
+ */
extern const char kAliHLTDataOriginPrivate[kAliHLTComponentDataTypefOriginSize];
-/** TPC */
+/** Data origin TPC
+ * @ingroup alihlt_component_datatypes
+ */
extern const char kAliHLTDataOriginTPC[kAliHLTComponentDataTypefOriginSize];
-/** PHOS */
+/** Data origin PHOS
+ * @ingroup alihlt_component_datatypes
+ */
extern const char kAliHLTDataOriginPHOS[kAliHLTComponentDataTypefOriginSize];
-/** MUON */
+/** Data origin MUON
+ * @ingroup alihlt_component_datatypes
+ */
extern const char kAliHLTDataOriginMUON[kAliHLTComponentDataTypefOriginSize];
-/** TRD */
+/** Data origin TRD
+ * @ingroup alihlt_component_datatypes
+ */
extern const char kAliHLTDataOriginTRD[kAliHLTComponentDataTypefOriginSize];
-/** ITS */
+/** Data origin ITS
+ * @ingroup alihlt_component_datatypes
+ */
extern const char kAliHLTDataOriginITS[kAliHLTComponentDataTypefOriginSize];
//////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////
-/** field size of data type id */
+/** field size of data type id
+ * @ingroup alihlt_component_datatypes
+ */
const int kAliHLTComponentDataTypefIDsize=8;
-/** invalid data type id */
+/** invalid data type id
+ * @ingroup alihlt_component_datatypes
+ */
# define kAliHLTVoidDataTypeID "\0\0\0\0\0\0\0"
-/** special id for any data type id */
+/** special id for any data type id
+ * @ingroup alihlt_component_datatypes
+ */
# define kAliHLTAnyDataTypeID "*******"
-/** DDL RAW data */
+/** DDL RAW data
+ * @ingroup alihlt_component_datatypes
+ */
# define kAliHLTDDLRawDataTypeID {'D','D','L','_','R','A','W',' '}
-/** calibration data for file exchange subscriber */
+/** calibration data for file exchange subscriber
+ * @ingroup alihlt_component_datatypes
+ */
# define kAliHLTFXSCalibDataTypeID {'F','X','S','_','C','A','L',' '}
/** start of run (SOR) event
* @ref AliHLTRunDesc
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTSORDataTypeID {'S','T','A','R','T','O','F','R'}
/** end of run (EOR) event
* @ref AliHLTRunDesc
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTEORDataTypeID {'E','N','D','O','F','R','U','N'}
/** DDL list event
* @ref AliHLTEventDDL
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTDDLDataTypeID {'D','D','L','L','I','S','T',' '}
/** EventType event
* - empty payload, specification gives eventType
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTEventDataTypeID {'E','V','E','N','T','T','Y','P'}
/** ComponentConfiguration event
* - payload contains the CDB path as string
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTComConfDataTypeID {'C','O','M','_','C','O','N','F'}
/** DCS value update event
* - payload contains string of relevant detectors
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTUpdtDCSDataTypeID {'U','P','D','T','_','D','C','S'}
/** ESD data block
* an AliESD object of varying origin
* The 'V0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTESDObjectDataTypeID {'A','L','I','E','S','D','V','0'}
/** ESD tree data block
* TTree with an AliESD object of varying origin
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTESDTreeDataTypeID {'E','S','D','_','T','R','E','E'}
+/** AliRoot TreeD
+ * - the digits tree of an AliRoot module
+ * @ingroup alihlt_component_datatypes
+ */
+#define kAliHLTTreeDDataTypeID {'A','L','I','T','R','E','E','D'}
+
+/** AliRoot TreeR
+ * - the rec points tree of an AliRoot module
+ * @ingroup alihlt_component_datatypes
+ */
+#define kAliHLTTreeRDataTypeID {'A','L','I','T','R','E','E','D'}
+
/** HW Address selection data block
* - a selection list for 16 bit HW addresses
* - varying origin
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTHwAddr16DataTypeID {'H','W','A','D','D','R','1','6'}
/** Event Statistics
* - event statistics for given detectors
* - varying origin
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTEventStatisticsDataTypeID {'E','V','_','S','T','A','T','I'}
/** Event Summary
* - event summary
* - origin : kAliHLTDataOriginOut ( HLT )
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTEventSummaryDataTypeID {'E','V','_','S','U','M','M','A'}
/** Run Statistics
* - run statistics for given detectors
* - varying origin
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTRunStatisticsDataTypeID {'R','U','N','S','T','A','T','I'}
/** Run Summary
* - run summary
* - origin : kAliHLTDataOriginOut ( HLT )
+ * @ingroup alihlt_component_datatypes
*/
# define kAliHLTRunSummaryDataTypeID {'R','U','N','S','U','M','M','A'}
/** general ROOT TObject
* - a general TObject exported from the HLT analysis
* - varying origin
+ * @ingroup alihlt_component_datatypes
*/
#define kAliHLTTObjectDataTypeID {'R','O','O','T','T','O','B','J'}
/** ROOT TObjArray
* - a TObjArray exported from the HLT analysis
* - varying origin
+ * @ingroup alihlt_component_datatypes
*/
#define kAliHLTTObjArrayDataTypeID {'R','O','O','T','O','B','A','R'}
/** ROOT TTree
* - a TTree object exported from the HLT analysis
* - varying origin
+ * @ingroup alihlt_component_datatypes
*/
#define kAliHLTTTreeDataTypeID {'R','O','O','T','T','R','E','E'}
* - a histogram object exported from the HLT analysis
* - class derives from TH1 (directly or indirectly) and inherits all common functionality
* - varying origin
+ * @ingroup alihlt_component_datatypes
*/
#define kAliHLTHistogramDataTypeID {'R','O','O','T','H','I','S','T'}
/** ROOT TNtuple
* - a TNtupl object exported from the HLT analysis
* - varying origin
+ * @ingroup alihlt_component_datatypes
*/
#define kAliHLTTNtupleDataTypeID {'R','O','O','T','T','U','P','L'}
AliHLTUInt64_t fShmID;
};
+ /**
+ * @defgroup alihlt_component_datatypes Common Component Data Types
+ * The analysis framework defines a number of common data types for
+ * usage in the detector modules, like e.g. ::kAliHLTAnyDataType
+ * and ::kAliHLTDataTypeDDLRaw. Those data types always have
+ * origin ::kAliHLTDataOriginAny. The correct detector origin can be
+ * set by using operator '|'
+ * <pre>
+ * AliHLTComponentDataType dt=kAliHLTDDLRawDataTypeID|kAliHLTDataOriginTPC
+ * </pre>
+ * @ingroup alihlt_component
+ */
+
/**
* @struct AliHLTComponentDataType
* Data type descriptor for data blocks transferred through the processing
* chain.
+ * @ingroup alihlt_component_datatypes
*/
struct AliHLTComponentDataType
{
//
//////////////////////////////////////////////////////////////////////////
- /** invalid event id */
+ /** invalid event id
+ * @ingroup alihlt_component_datatypes
+ */
const AliHLTEventID_t kAliHLTVoidEventID=~(AliHLTEventID_t)0;
- /** invalid data specification */
+ /** invalid data specification
+ * @ingroup alihlt_component_datatypes
+ */
const AliHLTUInt32_t kAliHLTVoidDataSpec = ~(AliHLTUInt32_t)0;
/** invalid shared memory type */
/** invalid shared memory id */
const AliHLTUInt64_t gkAliHLTComponentInvalidShmID = ~(AliHLTUInt64_t)0;
- /** invalid data type */
+ /** invalid data type
+ * @ingroup alihlt_component_datatypes
+ */
const AliHLTComponentDataType kAliHLTVoidDataType = {
sizeof(AliHLTComponentDataType),
kAliHLTVoidDataTypeID,
// (commented below) are used. rootcint does not find the id if they
// are char arrays defined with {} and individual chars. If strings
// are used it works fine
- /** any data type */
+ /** any data type
+ * @ingroup alihlt_component_datatypes
+ */
const AliHLTComponentDataType kAliHLTAnyDataType = {
sizeof(AliHLTComponentDataType),
kAliHLTAnyDataTypeID,
kAliHLTDataOriginAny
};
- /** multiple output data types */
+ /** multiple output data types
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTMultipleDataType;
- /** data to file exchange subscriber */
+ /** data to file exchange subscriber
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeFXSCalib;
- /** DDL list data type */
+ /** DDL list data type
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeDDL;
- /** SOR data type */
+ /** SOR data type
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeSOR;
- /** EOR data type */
+ /** EOR data type
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeEOR;
- /** Event type specification */
+ /** Event type specification
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeEvent;
- /** Configuration event data type */
+ /** Configuration event data type
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeComConf;
- /** DCS value update event */
+ /** DCS value update event
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeUpdtDCS;
- /** RAW DDL data specification, origin is 'any', data publisher origin correctly */
+ /** RAW DDL data specification, origin is 'any', data publisher origin correctly
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeDDLRaw;
- /** ESD object data specification, origin is 'any' */
+ /** ESD object data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeESDObject;
- /** ESD Tree data specification, origin is 'any' */
+ /** ESD Tree data specification, origin is 'any'
+
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeESDTree;
- /** 16 bit Hardware address selection data specification, origin is 'any' */
+ /** AliRoot TreeD data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeAliTreeD;
+
+ /** AliRoot TreeR data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeAliTreeR;
+
+ /** 16 bit Hardware address selection data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeHwAddr16;
- /** Event statistics */
+ /** Event statistics
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeEventStatistics;
- /** Event summary */
+ /** Event summary
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeEventSummary;
- /** Event statistics */
+ /** Event statistics
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeRunStatistics;
- /** Event summary */
+ /** Event summary
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeRunSummary;
//////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////
- /** general ROOT TObject */
+ /** general ROOT TObject
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeTObject; // {ROOTTOBJ,"***"}
- /** ROOT TObjArray */
+ /** ROOT TObjArray
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeTObjArray; // {ROOTOBAR,"***"}
- /** ROOT TTree */
+ /** ROOT TTree
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeTTree; // {ROOTTREE,"***"}
- /** ROOT TH1 (can be used for all histograms, they derive from TH1) */
+ /** ROOT TH1 (can be used for all histograms, they derive from TH1)
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeHistogram; // {ROOTHIST,"***"}
- /** ROOT TNtuple */
+ /** ROOT TNtuple
+ * @ingroup alihlt_component_datatypes
+ */
extern const AliHLTComponentDataType kAliHLTDataTypeTNtuple; // {ROOTTUPL,"***"}
//////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////
+/** Comparison operator for HLT component data types.
+ * The operator takes wildcards into account, i.e. the ::kAliHLTAnyDataType,
+ * ::kAliHLTAnyDataTypeID and ::kAliHLTDataOriginAny definitions.
+ * @ingroup alihlt_component_datatypes
+ */
inline bool operator==( const AliHLTComponentDataType& dt1, const AliHLTComponentDataType& dt2 )
{
bool any1=true, any2=true, void1=true, void2=true, match=true;
return true;
}
+/** Comparison operator for HLT component data types
+ * invers of @ref operator==( const AliHLTComponentDataType& dt1, const AliHLTComponentDataType& dt2 )
+ * @ingroup alihlt_component_datatypes
+ */
inline bool operator!=( const AliHLTComponentDataType& dt1, const AliHLTComponentDataType& dt2 )
{
return !(dt1==dt2);
}
+/** exact comparison of HLT component data types
+ * @ingroup alihlt_component_datatypes
+ */
inline bool MatchExactly( const AliHLTComponentDataType& dt1, const AliHLTComponentDataType& dt2 )
{
for ( int i = 0; i < kAliHLTComponentDataTypefIDsize; i++ )
return true;
}
+/** merge operator for HLT component data types and origins
+ * @ingroup alihlt_component_datatypes
+ */
inline AliHLTComponentDataType operator|(const AliHLTComponentDataType srcdt, const char origin[kAliHLTComponentDataTypefOriginSize])
{
AliHLTComponentDataType dt=srcdt;
/**
* Scan options.
* Known options
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li loglevel=<i>level</i> <br>
* logging level for this processing
* \li frameworklog=<i>level</i> <br>
SUBDIRS =
-EXTRA_DIST =
+EXTRA_DIST = HLTinterface-LinkDef.h
AM_CPPFLAGS = -DMODULE=$(MODULE) \
-I$(top_srcdir)/BASE
* Library: \b libAliHLTUtil.
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -datatype <i> datatype dataorigin </i> <br>
* data type ID and origin, e.g. <tt>-datatype 'CLUSTERS' 'TPC ' </tt>
* \li -dataspec <i> specification </i> <br>
* Library: \b libAliHLTUtil.
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -datafile <i> filename </i>
* \li -datafilelist <i> file pattern </i> <br>
* not yet implemented
* Library: \b libAliHLTUtil.so
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
* Optional arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -datafile <i> filename </i> <br>
* file name base
* \li -directory <i> directory </i> <br>
* Library: \b libAliHLTUtil.
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -loader <i> loader name </i>
* e.g. <tt> -loader TPCLoader </tt>
* \li -tree <i> tree name </i> : digits (default), clusters
* Library: \b libAliHLTUtil.
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -detector <i> detector name </i>
* e.g. <tt> -detector TPC </tt>
* \li -equipmentid <i> id </i>
* Library: \b libAliHLTUtil.
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
* Optional arguments:<br>
* \li -datatype <i> datatype dataorigin </i> <br>
* Library: \b libAliHLTUtil.so
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
* Optional arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
* See AliHLTFileWriter for full list of arguments.
*/
* Library: \b libAliHLTTPC
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
* Optional arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
*/
class AliHLTPHOSAltroChannelSelectorComponent : public AliHLTProcessor {
* Library: \b libAliHLTRCU
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
* Optional arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
*/
class AliHLTAltroChannelSelectorComponent : public AliHLTProcessor {
* Output Data Types: none <br>
*
* <h2>Mandatory arguments:</h2>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -mandatory1 <i> teststring </i> <br>
* an argument with one parameter
* \li -mandatory2 <br>
* an argument without parameters
*
* <h2>Optional arguments:</h2>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -optional1 <i> teststring </i> <br>
* an argument with one parameter
* \li -optional2 <br>
* an argument without parameters
*
* <h2>Configuration:</h2>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -config1 <i> teststring </i> <br>
* a configuration argument with one parameter
* \li -config2 <br>
* to the output stream
*
* <h2>Mandatory arguments:</h2>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
* <h2>Optional arguments:</h2>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -push-histograms <br>
* push histograms idividually
* \li -push-ttree (default) <br>
* push histograms embedded in TObjArray
*
* <h2>Configuration:</h2>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
* <h2>Default CDB entries:</h2>
* The component has no default CDB entry.
#include "AliHLTTPCZeroSuppressionComponent.h"
#include "AliHLTTPCDigitDumpComponent.h"
#include "AliHLTTPCEsdWriterComponent.h"
+#include "AliHLTTPCOfflineClustererComponent.h"
+#include "AliHLTTPCOfflineTrackerComponent.h"
/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCAgent)
pHandler->AddComponent(new AliHLTTPCDigitDumpComponent);
pHandler->AddComponent(new AliHLTTPCEsdWriterComponent::AliWriter);
pHandler->AddComponent(new AliHLTTPCEsdWriterComponent::AliConverter);
+ pHandler->AddComponent(new AliHLTTPCOfflineClustererComponent);
+ pHandler->AddComponent(new AliHLTTPCOfflineTrackerComponent);
return 0;
}
// see header file for class documentation
tgtList.clear();
tgtList.push_back(AliHLTTPCDefinitions::fgkClustersDataType);
- tgtList.push_back(AliHLTTPCDefinitions::fgkActivePadsDataType);
return tgtList.size();
}
(AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'C','A','L','_','P','U','L','S'}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
const AliHLTComponentDataType AliHLTTPCDefinitions::fgkCalibCEDataType =
(AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'C','A','L','_','C','E',' ',' '}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkActivePadsDataType =
- (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'A','C','T','I','V','P','A','D'}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkNoiseHistoDataType =
- (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'N','O','I','S','E','M','A','P'}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
AliHLTTPCDefinitions::AliHLTTPCDefinitions()
{
/** central electrode calibration data */
static const AliHLTComponentDataType fgkCalibCEDataType; // see above
- /** active pads data type, Used for cosmics test december 2007 */
- static const AliHLTComponentDataType fgkActivePadsDataType; // see above
-
- /** noise mapping histograms */
- static const AliHLTComponentDataType fgkNoiseHistoDataType; // see above
-
- ClassDef(AliHLTTPCDefinitions, 1);
+ // Offline wrappers
+ /** offline TreeR tree containing recpoints */
+ static const AliHLTComponentDataType fgkOfflineTreeR; // see above
+ ClassDef(AliHLTTPCDefinitions, 2)
};
#endif
*
* See AliHLTFileWriter for arguments, further specific options
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
* Optional arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -digitreader <i> reader </i> <br>
* type of the digit reader: <i>unpacked, packed, raw, decoder</i>
* default 'decoder'
{
// see header file for class documentation
int iResult=0;
- const char* path="HLT/ConfigHLT/SolenoidBz";
+ const char* path=kAliHLTCDBSolenoidBz;
const char* defaultNotify="";
if (cdbEntry) {
path=cdbEntry;
* componentid: \b TPCEsdConverter <br>
* componentlibrary: \b libAliHLTTPC.so <br>
* Arguments TPCEsdWriter: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -datafile <i> filename </i> <br>
* file name base
* \li -directory <i> directory </i> <br>
* target directory
*
* Arguments TPCEsdConverter: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -notree
* write ESD directly to output (::kAliHLTDataTypeESDObject)
* \li -tree
* Library: \b libAliHLTTPC.
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -slice <i> no </i> <br>
* TPC slice no (slice = inner + outer sector)
* \li -partition <i> no </i> <br>
--- /dev/null
+// $Id$
+
+//**************************************************************************
+//* This file is property of and copyright by the ALICE HLT Project *
+//* ALICE Experiment at CERN, All rights reserved. *
+//* *
+//* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
+//* *
+//* 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. *
+//**************************************************************************
+
+/** @file AliHLTTPCOfflineClustererComponent.cxx
+ @author Matthias Richter
+ @date
+ @brief Wrapper component to the TPC offline cluster finder
+*/
+
+#include "AliHLTTPCOfflineClustererComponent.h"
+#include "AliHLTTPCDefinitions.h"
+#include "AliRawReaderMemory.h"
+#include "AliTPCParam.h"
+#include "AliTPCParamSR.h"
+#include "AliTPCclustererMI.h"
+#include "AliDAQ.h"
+#include "TString.h"
+#include "TObjArray.h"
+#include "TObjString.h"
+#include "TTree.h"
+
+/** ROOT macro for the implementation of ROOT specific class methods */
+ClassImp(AliHLTTPCOfflineClustererComponent)
+
+AliHLTTPCOfflineClustererComponent::AliHLTTPCOfflineClustererComponent()
+{
+ // see header file for class documentation
+ // or
+ // refer to README to build package
+ // or
+ // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+}
+
+AliHLTTPCOfflineClustererComponent::~AliHLTTPCOfflineClustererComponent()
+{
+ // see header file for class documentation
+}
+
+const char* AliHLTTPCOfflineClustererComponent::GetComponentID()
+{
+ // see header file for class documentation
+ return "TPCOfflineClusterer";
+}
+
+void AliHLTTPCOfflineClustererComponent::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
+{
+ // see header file for class documentation
+ list.push_back(kAliHLTDataTypeDDLRaw|kAliHLTDataOriginTPC);
+}
+
+AliHLTComponentDataType AliHLTTPCOfflineClustererComponent::GetOutputDataType()
+{
+ // see header file for class documentation
+ return kAliHLTDataTypeAliTreeR|kAliHLTDataOriginTPC;
+}
+
+void AliHLTTPCOfflineClustererComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier)
+{
+ // see header file for class documentation
+ constBase = 0;inputMultiplier = 1;
+}
+
+AliHLTComponent* AliHLTTPCOfflineClustererComponent::Spawn()
+{
+ // see header file for class documentation
+ return new AliHLTTPCOfflineClustererComponent;
+}
+
+int AliHLTTPCOfflineClustererComponent::DoInit( int argc, const char** argv )
+{
+ // see header file for class documentation
+ int iResult=0;
+
+ TString argument="";
+ TString configuration="";
+ int bMissingParam=0;
+ for (int i=0; i<argc && iResult>=0; i++) {
+ argument=argv[i];
+ if (argument.IsNull()) continue;
+
+ }
+ if (bMissingParam) {
+ HLTError("missing parameter for argument %s", argument.Data());
+ iResult=-EINVAL;
+ }
+
+ if (iResult>=0 && !configuration.IsNull()) {
+ iResult=Configure(configuration.Data());
+ } else {
+ iResult=Reconfigure(NULL, NULL);
+ }
+
+ return iResult;
+}
+
+int AliHLTTPCOfflineClustererComponent::DoDeinit()
+{
+ // see header file for class documentation
+ return 0;
+}
+
+int AliHLTTPCOfflineClustererComponent::DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/)
+{
+ // see header file for class documentation
+ int iResult=0;
+ for (const AliHLTComponentBlockData* pBlock=GetFirstInputBlock(kAliHLTDataTypeDDLRaw|kAliHLTDataOriginTPC);
+ pBlock!=NULL;
+ pBlock=GetNextInputBlock()) {
+ int slice=AliHLTTPCDefinitions::GetMinSliceNr(pBlock->fSpecification);
+ int patch=AliHLTTPCDefinitions::GetMinPatchNr(pBlock->fSpecification);
+ if (slice!=AliHLTTPCDefinitions::GetMaxSliceNr(pBlock->fSpecification) ||
+ patch!=AliHLTTPCDefinitions::GetMaxPatchNr(pBlock->fSpecification)) {
+ HLTError("ambiguous readout partition (specification 0x%80x), skipping input block", pBlock->fSpecification);
+ break;
+ }
+ if (slice<0 || slice>35 || patch<0 || slice>5) {
+ HLTError("invalid readout partition %d/%d (specification 0x%80x, skipping input block", slice, patch, pBlock->fSpecification);
+ break;
+ }
+
+ TTree* pTreeR=new TTree("TreeR", "Reconstructed Points Container");
+ AliRawReaderMemory* pRawReader=new AliRawReaderMemory;
+
+ // TODO: choose the right parameter
+ AliTPCParam* pParam = new AliTPCParamSR;
+ AliTPCclustererMI* pClusterer = new AliTPCclustererMI(pParam);
+
+ if (pTreeR && pRawReader && pClusterer) {
+ // setup raw reader and cluster finder
+ pRawReader->SetMemory( reinterpret_cast<UChar_t*>( pBlock->fPtr ), pBlock->fSize );
+ int ddlId=AliDAQ::DdlIDOffset("TPC");
+ if (patch<2) {
+ ddlId+=2*slice+patch;
+ } else {
+ ddlId+=72;
+ ddlId+=4*slice+patch;
+ }
+ pRawReader->SetEquipmentID(ddlId);
+
+ // TODO: find out from the data
+ //pClusterer->SetOldRCUFormat(kTRUE);
+
+ // run the cluster finder
+ pClusterer->SetOutput(pTreeR);
+ pClusterer->Digits2Clusters(pRawReader);
+
+ // insert tree into output stream
+ PushBack(pTreeR, kAliHLTDataTypeAliTreeR|kAliHLTDataOriginTPC, pBlock->fSpecification);
+
+ if (pClusterer) delete pClusterer; pClusterer=NULL;
+ if (pParam) delete pParam; pParam=NULL;
+ if (pRawReader) delete pRawReader; pRawReader=NULL;
+ if (pTreeR) delete pTreeR; pTreeR=NULL;
+ } else {
+ iResult=-ENOMEM;
+ }
+ }
+
+ return iResult;
+}
+
+int AliHLTTPCOfflineClustererComponent::Configure(const char* arguments)
+{
+ // see header file for class documentation
+ int iResult=0;
+ if (!arguments) return iResult;
+
+ TString allArgs=arguments;
+ TString argument;
+ int bMissingParam=0;
+
+ TObjArray* pTokens=allArgs.Tokenize(" ");
+ if (pTokens) {
+ for (int i=0; i<pTokens->GetEntries() && iResult>=0; i++) {
+ argument=((TObjString*)pTokens->At(i))->GetString();
+ if (argument.IsNull()) continue;
+
+ if (argument.CompareTo("-something")==0) {
+ if ((bMissingParam=(++i>=pTokens->GetEntries()))) break;
+
+ } else {
+ HLTError("unknown argument %s", argument.Data());
+ iResult=-EINVAL;
+ break;
+ }
+ }
+ delete pTokens;
+ }
+ if (bMissingParam) {
+ HLTError("missing parameter for argument %s", argument.Data());
+ iResult=-EINVAL;
+ }
+ return iResult;
+}
+
+int AliHLTTPCOfflineClustererComponent::Reconfigure(const char* /*cdbEntry*/, const char* /*chainId*/)
+{
+ // see header file for class documentation
+ int iResult=0;
+ // CDB stuff needs to be implemented
+ return iResult;
+}
--- /dev/null
+//-*- Mode: C++ -*-
+// $Id$
+#ifndef ALIHLTTPCOFFLINECLUSTERFINDERCOMPONENT_H
+#define ALIHLTTPCOFFLINECLUSTERFINDERCOMPONENT_H
+
+//* 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 AliHLTTPCOfflineClustererComponent.h
+ @author Matthias Richter
+ @date
+ @brief Wrapper component to the TPC offline cluster finder
+*/
+
+#include "AliHLTProcessor.h"
+
+/**
+ * @class AliHLTTPCOfflineClustererComponent
+ * Wrapper component to the TPC offline cluster finder.
+ *
+ * The component interfaces the AliTPCclustererMI of the TPC offline code
+ * to the online HLT. The component expects raw data as input and publishes
+ * a full TreeR containing the cluster information.
+ *
+ * <h2>General properties:</h2>
+ *
+ * Component ID: \b TPCOfflineCF <br>
+ * Library: \b libAliHLTTPC.so <br>
+ * Input Data Types: @ref kAliHLTDataTypeDDLRaw|kAliHLTDataOriginTPC <br>
+ * Output Data Types: @ref kAliHLTDataTypeAliTreeR|kAliHLTDataOriginTPC <br>
+ *
+ * <h2>Mandatory arguments:</h2>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
+ *
+ * <h2>Optional arguments:</h2>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
+ *
+ * <h2>Configuration:</h2>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
+ *
+ * <h2>Default CDB entries:</h2>
+ * - so far the component does not load any configuration object
+ *
+ * <h2>Performance:</h2>
+ * To be determined.
+ *
+ * <h2>Memory consumption:</h2>
+ * To be determined.
+ *
+ * <h2>Output size:</h2>
+ * To be determined.
+ *
+ */
+class AliHLTTPCOfflineClustererComponent : public AliHLTProcessor {
+public:
+ AliHLTTPCOfflineClustererComponent();
+ virtual ~AliHLTTPCOfflineClustererComponent();
+
+ // AliHLTComponent interface functions
+ const char* GetComponentID();
+ void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
+ AliHLTComponentDataType GetOutputDataType();
+ void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
+
+ // Spawn function, return new class instance
+ AliHLTComponent* Spawn();
+
+ protected:
+ // AliHLTComponent interface functions
+ int DoInit( int argc, const char** argv );
+ int DoDeinit();
+ int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
+ int Reconfigure(const char* cdbEntry, const char* chainId);
+
+ using AliHLTProcessor::DoEvent;
+
+private:
+ /** copy constructor prohibited */
+ AliHLTTPCOfflineClustererComponent(const AliHLTTPCOfflineClustererComponent&);
+ /** assignment operator prohibited */
+ AliHLTTPCOfflineClustererComponent& operator=(const AliHLTTPCOfflineClustererComponent&);
+
+ /**
+ * Configure the component.
+ * Parse a string for the configuration arguments and set the component
+ * properties.
+ */
+ int Configure(const char* arguments);
+
+ ClassDef(AliHLTTPCOfflineClustererComponent, 0)
+};
+#endif
--- /dev/null
+// $Id$
+
+//**************************************************************************
+//* This file is property of and copyright by the ALICE HLT Project *
+//* ALICE Experiment at CERN, All rights reserved. *
+//* *
+//* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
+//* *
+//* 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. *
+//**************************************************************************
+
+/** @file AliHLTTPCOfflineTrackerComponent.cxx
+ @author Matthias Richter
+ @date
+ @brief Wrapper component to the TPC offline tracker
+*/
+
+#include "AliHLTTPCOfflineTrackerComponent.h"
+#include "TString.h"
+#include "TObjArray.h"
+#include "TObjString.h"
+
+/** ROOT macro for the implementation of ROOT specific class methods */
+ClassImp(AliHLTTPCOfflineTrackerComponent)
+
+AliHLTTPCOfflineTrackerComponent::AliHLTTPCOfflineTrackerComponent()
+{
+ // see header file for class documentation
+ // or
+ // refer to README to build package
+ // or
+ // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+}
+
+AliHLTTPCOfflineTrackerComponent::~AliHLTTPCOfflineTrackerComponent()
+{
+ // see header file for class documentation
+}
+
+const char* AliHLTTPCOfflineTrackerComponent::GetComponentID()
+{
+ // see header file for class documentation
+ return "TPCOfflineTracker";
+}
+
+void AliHLTTPCOfflineTrackerComponent::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
+{
+ // see header file for class documentation
+ list.push_back(kAliHLTDataTypeAliTreeR|kAliHLTDataOriginTPC);
+}
+
+AliHLTComponentDataType AliHLTTPCOfflineTrackerComponent::GetOutputDataType()
+{
+ // see header file for class documentation
+ return kAliHLTDataTypeESDTree|kAliHLTDataOriginTPC;
+}
+
+void AliHLTTPCOfflineTrackerComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier)
+{
+ // see header file for class documentation
+ constBase = 0;inputMultiplier = 1;
+}
+
+AliHLTComponent* AliHLTTPCOfflineTrackerComponent::Spawn()
+{
+ // see header file for class documentation
+ return new AliHLTTPCOfflineTrackerComponent;
+}
+
+int AliHLTTPCOfflineTrackerComponent::DoInit( int argc, const char** argv )
+{
+ // see header file for class documentation
+ int iResult=0;
+
+ TString argument="";
+ TString configuration="";
+ int bMissingParam=0;
+ for (int i=0; i<argc && iResult>=0; i++) {
+ argument=argv[i];
+ if (argument.IsNull()) continue;
+
+ }
+ if (bMissingParam) {
+ HLTError("missing parameter for argument %s", argument.Data());
+ iResult=-EINVAL;
+ }
+
+ if (iResult>=0 && !configuration.IsNull()) {
+ iResult=Configure(configuration.Data());
+ } else {
+ iResult=Reconfigure(NULL, NULL);
+ }
+
+ return iResult;
+}
+
+int AliHLTTPCOfflineTrackerComponent::DoDeinit()
+{
+ // see header file for class documentation
+ return 0;
+}
+
+int AliHLTTPCOfflineTrackerComponent::DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/)
+{
+ // see header file for class documentation
+ HLTInfo("processing data");
+
+ return 0;
+}
+
+int AliHLTTPCOfflineTrackerComponent::Configure(const char* arguments)
+{
+ // see header file for class documentation
+ int iResult=0;
+ if (!arguments) return iResult;
+
+ TString allArgs=arguments;
+ TString argument;
+ int bMissingParam=0;
+
+ TObjArray* pTokens=allArgs.Tokenize(" ");
+ if (pTokens) {
+ for (int i=0; i<pTokens->GetEntries() && iResult>=0; i++) {
+ argument=((TObjString*)pTokens->At(i))->GetString();
+ if (argument.IsNull()) continue;
+
+ if (argument.CompareTo("-something")==0) {
+ if ((bMissingParam=(++i>=pTokens->GetEntries()))) break;
+
+ } else {
+ HLTError("unknown argument %s", argument.Data());
+ iResult=-EINVAL;
+ break;
+ }
+ }
+ delete pTokens;
+ }
+ if (bMissingParam) {
+ HLTError("missing parameter for argument %s", argument.Data());
+ iResult=-EINVAL;
+ }
+ return iResult;
+}
+
+int AliHLTTPCOfflineTrackerComponent::Reconfigure(const char* /*cdbEntry*/, const char* /*chainId*/)
+{
+ // see header file for class documentation
+ int iResult=0;
+ return iResult;
+}
--- /dev/null
+//-*- Mode: C++ -*-
+// $Id$
+#ifndef ALIHLTTPCOFFLINETRACKERCOMPONENT_H
+#define ALIHLTTPCOFFLINETRACKERCOMPONENT_H
+
+//* 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 AliHLTTPCOfflineTrackerComponent.h
+ @author Matthias Richter
+ @date
+ @brief Wrapper component to the TPC offline cluster finder
+*/
+
+#include "AliHLTProcessor.h"
+
+/**
+ * @class AliHLTTPCOfflineTrackerComponent
+ * Wrapper component to the TPC offline tracker.
+ *
+ * The component interfaces the AliTPCtrackerMI of the TPC offline code
+ * to the online HLT. The component expects a full TreeR containing the
+ * cluster information. The output is in ESD format.
+ *
+ * <h2>General properties:</h2>
+ *
+ * Component ID: \b TPCOfflineTracker <br>
+ * Library: \b libAliHLTTPC.so <br>
+ * Input Data Types: @ref kAliHLTDataTypeAliTreeR|kAliHLTDataOriginTPC <br>
+ * Output Data Types: @ref kAliHLTDataTypeESDTree|kAliHLTDataOriginTPC <br>
+ *
+ * <h2>Mandatory arguments:</h2>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
+ *
+ * <h2>Optional arguments:</h2>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
+ *
+ * <h2>Configuration:</h2>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
+ *
+ * <h2>Default CDB entries:</h2>
+ * - loads magnetic field value from <tt>HLT/ConfigHLT/SolenoidBz</tt>.
+ *
+ * <h2>Performance:</h2>
+ * To be determined.
+ *
+ * <h2>Memory consumption:</h2>
+ * To be determined.
+ *
+ * <h2>Output size:</h2>
+ * To be determined.
+ *
+ */
+class AliHLTTPCOfflineTrackerComponent : public AliHLTProcessor {
+public:
+ AliHLTTPCOfflineTrackerComponent();
+ virtual ~AliHLTTPCOfflineTrackerComponent();
+
+ // AliHLTComponent interface functions
+ const char* GetComponentID();
+ void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
+ AliHLTComponentDataType GetOutputDataType();
+ void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
+
+ // Spawn function, return new class instance
+ AliHLTComponent* Spawn();
+
+ protected:
+ // AliHLTComponent interface functions
+ int DoInit( int argc, const char** argv );
+ int DoDeinit();
+ int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
+ int Reconfigure(const char* cdbEntry, const char* chainId);
+
+ using AliHLTProcessor::DoEvent;
+
+private:
+ /** copy constructor prohibited */
+ AliHLTTPCOfflineTrackerComponent(const AliHLTTPCOfflineTrackerComponent&);
+ /** assignment operator prohibited */
+ AliHLTTPCOfflineTrackerComponent& operator=(const AliHLTTPCOfflineTrackerComponent&);
+
+ /**
+ * Configure the component.
+ * Parse a string for the configuration arguments and set the component
+ * properties.
+ */
+ int Configure(const char* arguments);
+
+ ClassDef(AliHLTTPCOfflineTrackerComponent, 0)
+};
+#endif
* used for calibration of the Huffman code table (which is created here).
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -origin <i> detector <\i> <br>
* set origin of data for code creation to specify output table (parameter transient)
* \li -runnumber <i> decimal number <\i> <br>
* set number of trailerwords of incoming data (ranging from 1 to 3)
*
* Optional arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -tablepath <i> path to Huffman code table <\i> <br>
* set path to out put Huffman code table as root file, if no path is given, output path is set to current path (parameter transient)
*
* Library: \b libAliHLTComp
*
* Mandatory arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -origin <i> detector <\i> <br>
* set origin of data to specify Huffman code table to be read in (parameter transient)
* \li -runnumber <i> decimal number <\i> <br>
* set number of trailerwords of incoming data (ranging from 1 to 3)
*
* Optional arguments: <br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -tablepath <i> path to Huffman code table <\i> <br>
* set path to read Huffman code table from root file, if no path is given, path is set to current path (parameter transient)
*
AliHLTTPCTrackArray.h \
AliHLTTPCTrack.h \
offline/AliHLTTPCDigitPublisherComponent.h \
+ offline/AliHLTTPCOfflineClustererComponent.h \
+ offline/AliHLTTPCOfflineTrackerComponent.h \
AliHLTTPCClusters.h \
AliHLTTPCConfMapFit.h \
AliHLTTPCConfMapTrack.h \
AliHLTTPCKryptonClusterFinderComponent.h
-# offline/AliHLTTPCOfflineClustererComponent.h
-# offline/AliHLTTPCOfflineTrackerComponent.h
-
# AliHLTTPCDDLDataFileHandler.h
# tracking/AliHLTTPCHough.h \
MODULE_HDRS:= $(CLASS_HDRS) \
AliHLTDataTypes.h \
+ AliHLTCommonCDBEntries.h \
AliHLTMisc.h \
AliHLT_C_Component_WrapperInterface.h \
AliHLTDefinitions.h \
* will only load <tt>libAliHLTSample.so</tt>
*
* Optional arguments:<br>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li loglevel=<i>level</i><br>
* level can be a hex number encoding the @ref AliHLTComponentLogSeverity
* \li alilog=off <br>
* Output Data Types: none (offline data sink) <br>
*
* <h2>Mandatory arguments:</h2>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
*
* <h2>Optional arguments:</h2>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* \li -links <i> n </i> <br>
* number of output ddl links
*
* <h2>Configuration:</h2>
- * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
* none
*
* <h2>Default CDB entries:</h2>