4 #ifndef ALIHLTTPCDIGITDUMPCOMPONENT_H
5 #define ALIHLTTPCDIGITDUMPCOMPONENT_H
6 //* This file is property of and copyright by the ALICE HLT Project *
7 //* ALICE Experiment at CERN, All rights reserved. *
8 //* See cxx source for full Copyright notice *
10 /** @file AliHLTTPCDigitDumpComponent.h
11 @author Matthias Richter
13 @brief Special file writer converting TPC digit input to ASCII.
16 #include "AliHLTFileWriter.h"
19 * @class AliHLTTPCDigitDumpComponent
20 * A converter for digit data of the TPC input to ASCII output.
21 * Data blocks of type ::kAliHLTDataTypeDDLRaw and origin 'TPC ' is docoded
22 * written in readable ASCII format to a file.
24 * Component ID: \b TPCDigitDump <br>
25 * Library: \b libAliHLTTPC
27 * See AliHLTFileWriter for arguments, further specific options
28 * Mandatory arguments: <br>
29 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
31 * Optional arguments: <br>
32 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
33 * \li -digitreader <i> reader </i> <br>
34 * type of the digit reader: <i>unpacked, packed, raw, decoder</i>
36 * \li -rcutrailersize <i> size </i> <br>
37 * size of the RCU trailer in 32bit words (default 2), if digitreader
38 * 'decoder' is used, the trailer size is determined automatically
40 * unsorted mode of digit readers (default sorted)
42 * sorted mode of digit readers (default)
44 * @ingroup alihlt_tpc_components
46 class AliHLTTPCDigitDumpComponent : public AliHLTFileWriter {
48 /** default constructor */
49 AliHLTTPCDigitDumpComponent();
51 virtual ~AliHLTTPCDigitDumpComponent();
53 // interface functions: property getters
54 virtual const char* GetComponentID();
55 virtual void GetInputDataTypes(AliHLTComponentDataTypeList& list);
56 virtual AliHLTComponent* Spawn();
59 // interface functions: processing
62 int DumpEvent( const AliHLTComponentEventData& evtData,
63 const AliHLTComponentBlockData* blocks,
64 AliHLTComponentTriggerData& trigData );
65 using AliHLTDataSink::DumpEvent;
67 int ScanArgument(int argc, const char** argv);
70 /** copy constructor prohibited */
71 AliHLTTPCDigitDumpComponent(const AliHLTTPCDigitDumpComponent&);
72 /** assignment operator prohibited */
73 AliHLTTPCDigitDumpComponent& operator=(const AliHLTTPCDigitDumpComponent&);
79 kDigitReaderRaw, // deprecated but kept for backward compatiobility of macros
83 /** the digit reader to use */
84 short fDigitReaderType; //!transient
86 /** size of the RCU trailer in 32bit words */
87 short fRcuTrailerSize; //! transient
89 /** unsorted/sorted mode of digit readers */
90 bool fUnsorted; //!transient
92 ClassDef(AliHLTTPCDigitDumpComponent, 1);