]>
Commit | Line | Data |
---|---|---|
3e6ec852 | 1 | //-*- Mode: C++ -*- |
2 | // @(#) $Id$ | |
3 | ||
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 */ | |
9 | ||
10 | /** @file AliHLTTPCDigitDumpComponent.h | |
11 | @author Matthias Richter | |
12 | @date | |
13 | @brief Special file writer converting TPC digit input to ASCII. | |
14 | */ | |
15 | ||
16 | // see below for class documentation | |
17 | // or | |
18 | // refer to README to build package | |
19 | // or | |
20 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
21 | ||
22 | #include "AliHLTFileWriter.h" | |
23 | ||
24 | /** | |
25 | * @class AliHLTTPCDigitDumpComponent | |
26 | * A converter for digit data of the TPC input to ASCII output. | |
32a35f9f | 27 | * Data blocks of type @ref kAliHLTDataTypeDDLRaw and origin 'TPC ' is docoded |
28 | * written in readable ASCII format to a file. | |
3e6ec852 | 29 | * |
30 | * Component ID: \b TPCDigitDump <br> | |
31 | * Library: \b libAliHLTTPC | |
32 | * | |
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 --> | |
36 | * | |
37 | * Optional arguments: <br> | |
38 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating --> | |
8c27b00a | 39 | * \li -rawreadermode <i> mode </i> <br> |
e962f438 | 40 | * data mode of the <b>AliHLTTPCDigitReaderRaw</b> |
8c27b00a | 41 | * \li -digitreader <i> reader </i> <br> |
42 | * type of the digit reader: <i>unpacked, packed, raw</i> | |
3e6ec852 | 43 | * |
44 | */ | |
45 | class AliHLTTPCDigitDumpComponent : public AliHLTFileWriter { | |
46 | public: | |
47 | /** default constructor */ | |
48 | AliHLTTPCDigitDumpComponent(); | |
49 | /** destructor */ | |
50 | virtual ~AliHLTTPCDigitDumpComponent(); | |
51 | ||
52 | // interface functions: property getters | |
53 | virtual const char* GetComponentID(); | |
54 | virtual void GetInputDataTypes(AliHLTComponentDataTypeList& list); | |
55 | virtual AliHLTComponent* Spawn(); | |
56 | ||
57 | protected: | |
58 | // interface functions: processing | |
00b50bfa | 59 | int InitWriter(); |
60 | int CloseWriter(); | |
61 | int DumpEvent( const AliHLTComponentEventData& evtData, | |
62 | const AliHLTComponentBlockData* blocks, | |
63 | AliHLTComponentTriggerData& trigData ); | |
64 | using AliHLTDataSink::DumpEvent; | |
65 | ||
66 | int ScanArgument(int argc, const char** argv); | |
3e6ec852 | 67 | |
3e6ec852 | 68 | private: |
69 | /** copy constructor prohibited */ | |
70 | AliHLTTPCDigitDumpComponent(const AliHLTTPCDigitDumpComponent&); | |
71 | /** assignment operator prohibited */ | |
72 | AliHLTTPCDigitDumpComponent& operator=(const AliHLTTPCDigitDumpComponent&); | |
73 | ||
8c27b00a | 74 | enum { |
75 | kDigitReaderInvalid, | |
76 | kDigitReaderUnpacked, | |
77 | kDigitReaderPacked, | |
78 | kDigitReaderRaw | |
79 | }; | |
80 | ||
e1440dab | 81 | /** the mode for the DigitReaderRaw */ |
82 | unsigned fRawreaderMode; //!transient | |
83 | ||
8c27b00a | 84 | /** the digit reader to use */ |
85 | short fDigitReaderType; //!transient | |
86 | ||
3e6ec852 | 87 | ClassDef(AliHLTTPCDigitDumpComponent, 0); |
88 | }; | |
89 | ||
90 | #endif |