3 #ifndef ALIHLTTPCESDWRITERCOMPONENT_H
4 #define ALIHLTTPCESDWRITERCOMPONENT_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
8 /** @file AliHLTTPCEsdWriterComponent.h
9 @author Matthias Richter
11 @brief Writer component to store tracks of the HLT TPC conformal
12 mapping tracker in the AliESD format
15 #include "AliHLTRootFileWriterComponent.h"
17 // forward declarations
20 class AliHLTTPCTrackArray;
23 * @class AliHLTRootFileWriterComponent
24 * @see AliHLTFileWriter for parameters
26 class AliHLTTPCEsdWriterComponent : public AliHLTRootFileWriterComponent
29 /** standard constructor */
30 AliHLTTPCEsdWriterComponent();
32 ~AliHLTTPCEsdWriterComponent();
35 * The id of the component.
36 * @return component id (string)
38 const char* GetComponentID() {return "TPCEsdWriter";};
42 * @return new class instance
44 AliHLTComponent* Spawn() {return new AliHLTTPCEsdWriterComponent;}
48 * Data processing method for the component.
49 * The function can be overloaded by specific ROOT file writer
51 * @param evtData event data structure
52 * @param blocks input data block descriptors
53 * @param trigData trigger data structure
55 virtual int DumpEvent( const AliHLTComponentEventData& evtData,
56 const AliHLTComponentBlockData* blocks,
57 AliHLTComponentTriggerData& trigData );
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>
67 int ScanArgument(int argc, const char** argv);
72 * The DoInit function is not available for this child class. InitWriter is the
73 * corresponding function for classes derived from AliHLTFileWriter.
79 * The DoDeinit function is not available for this child class. CloseWriter is the
80 * corresponding function for classes derived from AliHLTFileWriter.
85 * Covert tracks to AliTPCtracks (AliKalmanTracks) and add them to ESD.
86 * @param pTracks array of tracks
87 * @param pESD pointer to ESD
88 * @return neg. error code if failed
90 int Tracks2ESD(AliHLTTPCTrackArray* pTracks, AliESD* pESD);
93 TTree* fTree; //! transient value
96 AliESD* fESD; //! transient value
98 ClassDef(AliHLTTPCEsdWriterComponent, 0)