4 #ifndef ALIHLTTRDESDWRITERCOMPONENT_H
5 #define ALIHLTTRDESDWRITERCOMPONENT_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 *
10 /** @file AliHLTTRDEsdWriterComponent.h
11 @author Mateusz Ploskon
13 @brief Writer component to store tracks of the HLT TRD
16 #include "AliHLTRootFileWriterComponent.h"
18 // forward declarations
23 * @class AliHLTTRDEsdWriterComponent
24 * @see AliHLTFileWriter and AliHLTRootFileWriterComponent for more parameters
26 class AliHLTTRDEsdWriterComponent : public AliHLTRootFileWriterComponent
29 /** standard constructor */
30 AliHLTTRDEsdWriterComponent();
32 ~AliHLTTRDEsdWriterComponent();
35 * The id of the component.
36 * @return component id (string)
38 const char* GetComponentID() {return "TRDEsdWriter";};
40 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
44 * @return new class instance
46 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
47 AliHLTComponent* Spawn() {return new AliHLTTRDEsdWriterComponent;}
51 * Data processing method for the component.
52 * The function can be overloaded by specific ROOT file writer
54 * @param evtData event data structure
55 * @param blocks input data block descriptors
56 * @param trigData trigger data structure
58 virtual int DumpEvent( const AliHLTComponentEventData& evtData,
59 const AliHLTComponentBlockData* blocks,
60 AliHLTComponentTriggerData& trigData );
62 using AliHLTRootFileWriterComponent::DumpEvent;
65 * Scan one argument and adjacent parameters.
66 * @param argc size of the argument array
67 * @param argv agument array for component initialization
68 * @return number of processed members of the argv <br>
69 * -EINVAL unknown argument <br>
70 * -EPROTO parameter for argument missing <br>
72 int ScanArgument(int argc, const char** argv);
77 /** not a valid copy constructor, defined according to effective C++ style */
78 AliHLTTRDEsdWriterComponent(const AliHLTTRDEsdWriterComponent&);
79 /** not a valid assignment op, but defined according to effective C++ style */
80 AliHLTTRDEsdWriterComponent& operator=(const AliHLTTRDEsdWriterComponent&);
84 * The DoInit function is not available for this child class. InitWriter is the
85 * corresponding function for classes derived from AliHLTFileWriter.
91 * The DoDeinit function is not available for this child class. CloseWriter is the
92 * corresponding function for classes derived from AliHLTFileWriter.
97 TTree* fTree; //! transient value
99 /** output percentage descared*/
100 Int_t fOutputPercentage;
103 AliESDEvent* fESD; //! transient value
105 int DoEvent( const AliHLTComponent_EventData& evtData,
106 const AliHLTComponent_BlockData* blocks,
107 AliHLTComponent_TriggerData& /*trigData*/,
108 AliHLTUInt8_t* /*outputPtr*/,
109 AliHLTUInt32_t& /*size*/,
110 vector<AliHLTComponent_BlockData>& /*outputBlocks*/);
112 ClassDef(AliHLTTRDEsdWriterComponent, 1)