]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDEsdWriterComponent.h
fix mem leak and compiler warning
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDEsdWriterComponent.h
CommitLineData
808618f5 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
15class TTree;
16class AliESDEvent;
17
18/**
19 * @class AliHLTTRDEsdWriterComponent
20 * @see AliHLTFileWriter and AliHLTRootFileWriterComponent for more parameters
21 */
22class 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
d76bc02a 57 using AliHLTRootFileWriterComponent::DumpEvent;
58
808618f5 59 /**
60 * Scan one argument and adjacent parameters.
61 * @param argc size of the argument array
62 * @param argv agument array for component initialization
63 * @return number of processed members of the argv <br>
64 * -EINVAL unknown argument <br>
65 * -EPROTO parameter for argument missing <br>
66 */
67 int ScanArgument(int argc, const char** argv);
68
69 private:
70 /** not a valid copy constructor, defined according to effective C++ style */
71 AliHLTTRDEsdWriterComponent(const AliHLTTRDEsdWriterComponent&);
72 /** not a valid assignment op, but defined according to effective C++ style */
73 AliHLTTRDEsdWriterComponent& operator=(const AliHLTTRDEsdWriterComponent&);
74
75 /**
76 * Init the writer.
77 * The DoInit function is not available for this child class. InitWriter is the
78 * corresponding function for classes derived from AliHLTFileWriter.
79 */
80 int InitWriter();
81
82 /**
83 * Init the writer.
84 * The DoDeinit function is not available for this child class. CloseWriter is the
85 * corresponding function for classes derived from AliHLTFileWriter.
86 */
87 int CloseWriter();
88
89 /** the ESD tree */
90 TTree* fTree; //! transient value
91
92 /** the ESD */
93 AliESDEvent* fESD; //! transient value
94
95 ClassDef(AliHLTTRDEsdWriterComponent, 1)
96};
97#endif