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 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 #include "AliHLTFileWriter.h"
25 * @class AliHLTTPCDigitDumpComponent
26 * A converter for digit data of the TPC input to ASCII output.
27 * Data blocks of type ::kAliHLTDataTypeDDLRaw and origin 'TPC ' is docoded
28 * written in readable ASCII format to a file.
30 * Component ID: \b TPCDigitDump <br>
31 * Library: \b libAliHLTTPC
33 * See AliHLTFileWriter for arguments, further specific options
34 * Mandatory arguments: <br>
35 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
37 * Optional arguments: <br>
38 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
39 * \li -rawreadermode <i> mode </i> <br>
40 * data mode of the <b>AliHLTTPCDigitReaderRaw</b>
41 * \li -digitreader <i> reader </i> <br>
42 * type of the digit reader: <i>unpacked, packed, raw</i>
43 * \li -rcutrailersize <i> size </i> <br>
44 * size of the RCU trailer in 32bit words (default 2)
46 * unsorted mode of digit readers (default sorted)
48 * sorted mode of digit readers (default)
50 * @ingroup alihlt_tpc_components
52 class AliHLTTPCDigitDumpComponent : public AliHLTFileWriter {
54 /** default constructor */
55 AliHLTTPCDigitDumpComponent();
57 virtual ~AliHLTTPCDigitDumpComponent();
59 // interface functions: property getters
60 virtual const char* GetComponentID();
61 virtual void GetInputDataTypes(AliHLTComponentDataTypeList& list);
62 virtual AliHLTComponent* Spawn();
65 // interface functions: processing
68 int DumpEvent( const AliHLTComponentEventData& evtData,
69 const AliHLTComponentBlockData* blocks,
70 AliHLTComponentTriggerData& trigData );
71 using AliHLTDataSink::DumpEvent;
73 int ScanArgument(int argc, const char** argv);
76 /** copy constructor prohibited */
77 AliHLTTPCDigitDumpComponent(const AliHLTTPCDigitDumpComponent&);
78 /** assignment operator prohibited */
79 AliHLTTPCDigitDumpComponent& operator=(const AliHLTTPCDigitDumpComponent&);
88 /** the mode for the DigitReaderRaw */
89 unsigned fRawreaderMode; //!transient
91 /** the digit reader to use */
92 short fDigitReaderType; //!transient
94 /** size of the RCU trailer in 32bit words */
95 short fRcuTrailerSize; //! transient
97 /** unsorted/sorted mode of digit readers */
98 bool fUnsorted; //!transient
100 ClassDef(AliHLTTPCDigitDumpComponent, 0);