]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDEsdWriterComponent.h
clean-up and removal of TPC legacy code
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDEsdWriterComponent.h
1 #ifndef ALIHLTTRDESDWRITERCOMPONENT_H
2 #define ALIHLTTRDESDWRITERCOMPONENT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /** @file   AliHLTTRDEsdWriterComponent.h
7     @author Mateusz Ploskon
8     @date   
9     @brief  Writer component to store tracks of the HLT TRD 
10
11                                                                           */
12 #include "AliHLTRootFileWriterComponent.h"
13
14 // forward declarations
15 class TTree;
16 class AliESDEvent;
17
18 /**
19  * @class AliHLTTRDEsdWriterComponent
20  * @see AliHLTFileWriter and AliHLTRootFileWriterComponent for more parameters
21  */
22 class AliHLTTRDEsdWriterComponent : public AliHLTRootFileWriterComponent
23 {
24  public:
25   /** standard constructor */
26   AliHLTTRDEsdWriterComponent();
27   /** destructor */
28   ~AliHLTTRDEsdWriterComponent();
29
30   /**
31    * The id of the component.
32    * @return component id (string)
33    */
34   const char* GetComponentID() {return "TRDEsdWriter";};
35
36   void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
37
38   /**
39    * Spawn function.
40    * @return new class instance
41    */
42   AliHLTComponent* Spawn() {return new AliHLTTRDEsdWriterComponent;}
43
44  protected:
45   /**
46    * Data processing method for the component.
47    * The function can be overloaded by specific ROOT file writer
48    * components.
49    * @param evtData       event data structure
50    * @param blocks        input data block descriptors
51    * @param trigData      trigger data structure
52    */
53   virtual int DumpEvent( const AliHLTComponentEventData& evtData,
54                          const AliHLTComponentBlockData* blocks, 
55                          AliHLTComponentTriggerData& trigData );
56
57   /**
58    * Scan one argument and adjacent parameters.
59    * @param argc           size of the argument array
60    * @param argv           agument array for component initialization
61    * @return number of processed members of the argv <br>
62    *         -EINVAL unknown argument <br>
63    *         -EPROTO parameter for argument missing <br>
64    */
65   int ScanArgument(int argc, const char** argv);
66
67  private:
68   /** not a valid copy constructor, defined according to effective C++ style */
69   AliHLTTRDEsdWriterComponent(const AliHLTTRDEsdWriterComponent&);
70   /** not a valid assignment op, but defined according to effective C++ style */
71   AliHLTTRDEsdWriterComponent& operator=(const AliHLTTRDEsdWriterComponent&);
72
73   /**
74    * Init the writer.
75    * The DoInit function is not available for this child class. InitWriter is the
76    * corresponding function for classes derived from AliHLTFileWriter.
77    */
78   int InitWriter();
79
80   /**
81    * Init the writer.
82    * The DoDeinit function is not available for this child class. CloseWriter is the
83    * corresponding function for classes derived from AliHLTFileWriter.
84    */
85   int CloseWriter();
86
87   /** the ESD tree */
88   TTree* fTree; //! transient value
89
90   /** the ESD */
91   AliESDEvent* fESD; //! transient value
92
93   ClassDef(AliHLTTRDEsdWriterComponent, 1)
94 };
95 #endif