updating HLT TRD ESDWriter follow reorganization of the friends in AliESDs.root ...
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDEsdWriterComponent.h
CommitLineData
93ce7d1b 1//-*- Mode: C++ -*-
2// $Id$
3
808618f5 4#ifndef ALIHLTTRDESDWRITERCOMPONENT_H
5#define ALIHLTTRDESDWRITERCOMPONENT_H
93ce7d1b 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 *
808618f5 9
10/** @file AliHLTTRDEsdWriterComponent.h
11 @author Mateusz Ploskon
12 @date
13 @brief Writer component to store tracks of the HLT TRD
14
15 */
16#include "AliHLTRootFileWriterComponent.h"
17
18// forward declarations
19class TTree;
20class AliESDEvent;
d135ae21 21class AliESDfriend;
22class TClonesArray;
808618f5 23/**
24 * @class AliHLTTRDEsdWriterComponent
25 * @see AliHLTFileWriter and AliHLTRootFileWriterComponent for more parameters
26 */
27class AliHLTTRDEsdWriterComponent : public AliHLTRootFileWriterComponent
28{
29 public:
30 /** standard constructor */
31 AliHLTTRDEsdWriterComponent();
32 /** destructor */
33 ~AliHLTTRDEsdWriterComponent();
34
35 /**
36 * The id of the component.
37 * @return component id (string)
38 */
39 const char* GetComponentID() {return "TRDEsdWriter";};
40
41 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
42
43 /**
44 * Spawn function.
45 * @return new class instance
46 */
d135ae21 47 //virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
808618f5 48 AliHLTComponent* Spawn() {return new AliHLTTRDEsdWriterComponent;}
49
50 protected:
51 /**
d135ae21 52 * Init the writer.
53 * The DoInit function is not available for this child class. InitWriter is the
54 * corresponding function for classes derived from AliHLTFileWriter.
55 */
56 int InitWriter();
57
58 /**
59 * Init the writer.
60 * The DoDeinit function is not available for this child class. CloseWriter is the
61 * corresponding function for classes derived from AliHLTFileWriter.
62 */
63 int CloseWriter();
64
65 /**
808618f5 66 * Data processing method for the component.
67 * The function can be overloaded by specific ROOT file writer
68 * components.
69 * @param evtData event data structure
70 * @param blocks input data block descriptors
71 * @param trigData trigger data structure
72 */
73 virtual int DumpEvent( const AliHLTComponentEventData& evtData,
74 const AliHLTComponentBlockData* blocks,
75 AliHLTComponentTriggerData& trigData );
dc2e6604 76
d76bc02a 77 using AliHLTRootFileWriterComponent::DumpEvent;
808618f5 78 /**
79 * Scan one argument and adjacent parameters.
80 * @param argc size of the argument array
81 * @param argv agument array for component initialization
82 * @return number of processed members of the argv <br>
83 * -EINVAL unknown argument <br>
84 * -EPROTO parameter for argument missing <br>
85 */
d135ae21 86 //int ScanArgument(int argc, const char** argv);
808618f5 87
88 private:
89 /** not a valid copy constructor, defined according to effective C++ style */
90 AliHLTTRDEsdWriterComponent(const AliHLTTRDEsdWriterComponent&);
91 /** not a valid assignment op, but defined according to effective C++ style */
92 AliHLTTRDEsdWriterComponent& operator=(const AliHLTTRDEsdWriterComponent&);
93
808618f5 94 /** the ESD tree */
95 TTree* fTree; //! transient value
f9778343 96 TTree* fFrTree; //! transient value
dc2e6604 97
808618f5 98 /** the ESD */
99 AliESDEvent* fESD; //! transient value
d135ae21 100 AliESDfriend* fESDfriend; //! transient value
101 TFile* fFile; //! transient value
f9778343 102 TFile* fFrFile; //! transient value
d135ae21 103 TClonesArray* fTracksArray; //! transient value
808618f5 104
105 ClassDef(AliHLTTRDEsdWriterComponent, 1)
dc2e6604 106
808618f5 107};
108#endif