]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCDigitDumpComponent.h
use common CDB entry for solenoid field (Gaute)
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDigitDumpComponent.h
CommitLineData
3e6ec852 1//-*- Mode: C++ -*-
2// @(#) $Id$
3
4#ifndef ALIHLTTPCDIGITDUMPCOMPONENT_H
5#define ALIHLTTPCDIGITDUMPCOMPONENT_H
297174de 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 *
3e6ec852 9
10/** @file AliHLTTPCDigitDumpComponent.h
11 @author Matthias Richter
12 @date
13 @brief Special file writer converting TPC digit input to ASCII.
14*/
15
3e6ec852 16#include "AliHLTFileWriter.h"
17
18/**
19 * @class AliHLTTPCDigitDumpComponent
20 * A converter for digit data of the TPC input to ASCII output.
2efb85be 21 * Data blocks of type ::kAliHLTDataTypeDDLRaw and origin 'TPC ' is docoded
32a35f9f 22 * written in readable ASCII format to a file.
3e6ec852 23 *
24 * Component ID: \b TPCDigitDump <br>
25 * Library: \b libAliHLTTPC
26 *
27 * See AliHLTFileWriter for arguments, further specific options
28 * Mandatory arguments: <br>
1ac82ce6 29 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
3e6ec852 30 *
31 * Optional arguments: <br>
1ac82ce6 32 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
8c27b00a 33 * \li -digitreader <i> reader </i> <br>
7c9a4e09 34 * type of the digit reader: <i>unpacked, packed, raw, decoder</i>
35 * default 'decoder'
70d0b23e 36 * \li -rcutrailersize <i> size </i> <br>
7c9a4e09 37 * size of the RCU trailer in 32bit words (default 2), if digitreader
38 * 'decoder' is used, the trailer size is determined automatically
39 * \li -rawreadermode <i> mode </i> <br>
40 * data mode of the <b>AliHLTTPCDigitReaderRaw</b>
70d0b23e 41 * \li -unsorted <br>
42 * unsorted mode of digit readers (default sorted)
43 * \li -sorted <br>
44 * sorted mode of digit readers (default)
3e6ec852 45 *
2efb85be 46 * @ingroup alihlt_tpc_components
3e6ec852 47 */
48class AliHLTTPCDigitDumpComponent : public AliHLTFileWriter {
49 public:
50 /** default constructor */
51 AliHLTTPCDigitDumpComponent();
52 /** destructor */
53 virtual ~AliHLTTPCDigitDumpComponent();
54
55 // interface functions: property getters
56 virtual const char* GetComponentID();
57 virtual void GetInputDataTypes(AliHLTComponentDataTypeList& list);
58 virtual AliHLTComponent* Spawn();
59
60 protected:
61 // interface functions: processing
00b50bfa 62 int InitWriter();
63 int CloseWriter();
64 int DumpEvent( const AliHLTComponentEventData& evtData,
65 const AliHLTComponentBlockData* blocks,
66 AliHLTComponentTriggerData& trigData );
67 using AliHLTDataSink::DumpEvent;
68
69 int ScanArgument(int argc, const char** argv);
3e6ec852 70
3e6ec852 71 private:
72 /** copy constructor prohibited */
73 AliHLTTPCDigitDumpComponent(const AliHLTTPCDigitDumpComponent&);
74 /** assignment operator prohibited */
75 AliHLTTPCDigitDumpComponent& operator=(const AliHLTTPCDigitDumpComponent&);
76
8c27b00a 77 enum {
78 kDigitReaderInvalid,
79 kDigitReaderUnpacked,
80 kDigitReaderPacked,
7c9a4e09 81 kDigitReaderRaw,
82 kDigitReaderDecoder
8c27b00a 83 };
84
e1440dab 85 /** the mode for the DigitReaderRaw */
86 unsigned fRawreaderMode; //!transient
87
8c27b00a 88 /** the digit reader to use */
89 short fDigitReaderType; //!transient
90
70d0b23e 91 /** size of the RCU trailer in 32bit words */
92 short fRcuTrailerSize; //! transient
93
94 /** unsorted/sorted mode of digit readers */
95 bool fUnsorted; //!transient
96
3e6ec852 97 ClassDef(AliHLTTPCDigitDumpComponent, 0);
98};
99
100#endif