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 */
6 /** @file AliHLTTRDEsdWriterComponent.h
7 @author Mateusz Ploskon
9 @brief Writer component to store tracks of the HLT TRD
12 #include "AliHLTRootFileWriterComponent.h"
14 // forward declarations
19 * @class AliHLTTRDEsdWriterComponent
20 * @see AliHLTFileWriter and AliHLTRootFileWriterComponent for more parameters
22 class AliHLTTRDEsdWriterComponent : public AliHLTRootFileWriterComponent
25 /** standard constructor */
26 AliHLTTRDEsdWriterComponent();
28 ~AliHLTTRDEsdWriterComponent();
31 * The id of the component.
32 * @return component id (string)
34 const char* GetComponentID() {return "TRDEsdWriter";};
36 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
40 * @return new class instance
42 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
43 AliHLTComponent* Spawn() {return new AliHLTTRDEsdWriterComponent;}
47 * Data processing method for the component.
48 * The function can be overloaded by specific ROOT file writer
50 * @param evtData event data structure
51 * @param blocks input data block descriptors
52 * @param trigData trigger data structure
54 virtual int DumpEvent( const AliHLTComponentEventData& evtData,
55 const AliHLTComponentBlockData* blocks,
56 AliHLTComponentTriggerData& trigData );
58 using AliHLTRootFileWriterComponent::DumpEvent;
61 * Scan one argument and adjacent parameters.
62 * @param argc size of the argument array
63 * @param argv agument array for component initialization
64 * @return number of processed members of the argv <br>
65 * -EINVAL unknown argument <br>
66 * -EPROTO parameter for argument missing <br>
68 int ScanArgument(int argc, const char** argv);
73 /** not a valid copy constructor, defined according to effective C++ style */
74 AliHLTTRDEsdWriterComponent(const AliHLTTRDEsdWriterComponent&);
75 /** not a valid assignment op, but defined according to effective C++ style */
76 AliHLTTRDEsdWriterComponent& operator=(const AliHLTTRDEsdWriterComponent&);
80 * The DoInit function is not available for this child class. InitWriter is the
81 * corresponding function for classes derived from AliHLTFileWriter.
87 * The DoDeinit function is not available for this child class. CloseWriter is the
88 * corresponding function for classes derived from AliHLTFileWriter.
93 TTree* fTree; //! transient value
95 /** output percentage descared*/
96 Int_t fOutputPercentage;
99 AliESDEvent* fESD; //! transient value
101 int DoEvent( const AliHLTComponent_EventData& evtData,
102 const AliHLTComponent_BlockData* blocks,
103 AliHLTComponent_TriggerData& /*trigData*/,
104 AliHLTUInt8_t* /*outputPtr*/,
105 AliHLTUInt32_t& /*size*/,
106 vector<AliHLTComponent_BlockData>& /*outputBlocks*/);
108 ClassDef(AliHLTTRDEsdWriterComponent, 1)