]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCClusterDumpComponent.h
TPC KrCF and Cluster property plotting (Kenneth & Gaute)
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCClusterDumpComponent.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTTPCCLUSTERDUMPCOMPONENT_H
5 #define ALIHLTTPCCLUSTERDUMPCOMPONENT_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   AliHLTTPCClusterDumpComponent.h
11     @author Kenneth Aamodt, Matthias Richter
12     @date   
13     @brief  Special file writer converting TPC clusters input to readable ASCII format.
14 */
15
16 #include "AliHLTFileWriter.h"
17
18 /**
19  * @class AliHLTTPCClusterDumpComponent
20  * A converter for TPC clusters to ASCII output.
21  * Data blocks of type :AliHLTTPCDefinition::fgkClustersDataType and origin 'TPC ' is
22  * written in readable ASCII format to a file.
23  * 
24  * Component ID: \b TPCClusterDump <br>
25  * Library: \b libAliHLTTPC
26  *
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 -->
30  *
31  * Optional arguments: <br>
32  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
33  * \li -directory    <i> directory   </i> <br>
34  *      the files will be put in.
35  *      default './' 
36  *
37  * @ingroup alihlt_tpc_components
38  */
39 class AliHLTTPCClusterDumpComponent : public AliHLTFileWriter {
40  public:
41   /** default constructor */
42   AliHLTTPCClusterDumpComponent();
43   /** destructor */
44   virtual ~AliHLTTPCClusterDumpComponent();
45
46   // interface functions: property getters
47   virtual const char* GetComponentID();
48   virtual void GetInputDataTypes(AliHLTComponentDataTypeList& list);
49   virtual AliHLTComponent* Spawn();
50
51  protected:
52   // interface functions: processing
53   int InitWriter();
54   int CloseWriter();
55   int DumpEvent( const AliHLTComponentEventData& evtData,
56                  const AliHLTComponentBlockData* blocks, 
57                  AliHLTComponentTriggerData& trigData );
58   using AliHLTDataSink::DumpEvent;
59
60   int ScanArgument(int argc, const char** argv);
61
62  private:
63   /** copy constructor prohibited */
64   AliHLTTPCClusterDumpComponent(const AliHLTTPCClusterDumpComponent&);
65   /** assignment operator prohibited */
66   AliHLTTPCClusterDumpComponent& operator=(const AliHLTTPCClusterDumpComponent&);
67
68   /** target directory */
69   TString    fDirectory;                                           // see above
70
71   ClassDef(AliHLTTPCClusterDumpComponent, 0);
72 };
73
74 #endif