4 #ifndef ALIHLTESDCOLLECTORCOMPONENT_H
5 #define ALIHLTESDCOLLECTORCOMPONENT_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 AliHLTEsdCollectorComponent.h
11 @author Matthias Richter
13 @brief Collect ESDs of multiple events and write toi file
16 #include "AliHLTFileWriter.h"
18 class AliHLTEsdManager;
21 * @class AliHLTEsdCollectorComponent
22 * The EsdCollector component merges ESDs from multiple events into one
23 * ESD file per origin using the AliHLTEsdManager class.
24 * \b Note: The component just merges ESDs of the same type/origin from
25 * multiple events into one file. It does not implement merging of ESDs
26 * from one event but several origins.
28 * Component ID: \b EsdCollector <br>
29 * Library: \b libAliHLTUtil.so
31 * Mandatory arguments: <br>
32 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
34 * Optional arguments: <br>
35 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
36 * The only AliHLTFileWriter argument of relevance is the -directory argument.
38 * See AliHLTFileWriter for full list of arguments.
40 class AliHLTEsdCollectorComponent : public AliHLTFileWriter
43 /** standard constructor */
44 AliHLTEsdCollectorComponent();
46 virtual ~AliHLTEsdCollectorComponent();
49 * The id of the component.
50 * @return component id (string)
52 const char* GetComponentID() {return "EsdCollector";};
56 * @return new class instance
58 AliHLTComponent* Spawn() {return new AliHLTEsdCollectorComponent;}
61 // interface functions
64 int DumpEvent( const AliHLTComponentEventData& evtData,
65 const AliHLTComponentBlockData* blocks,
66 AliHLTComponentTriggerData& trigData );
68 using AliHLTFileWriter::DumpEvent;
69 int ScanArgument(int argc, const char** argv);
72 /** copy constructor prohibited */
73 AliHLTEsdCollectorComponent(const AliHLTEsdCollectorComponent&);
74 /** assignment operator prohibited */
75 AliHLTEsdCollectorComponent& operator=(const AliHLTEsdCollectorComponent&);
77 /** the ESD manager instance writes the ESDs */
78 AliHLTEsdManager* fpManager; //! transient
80 ClassDef(AliHLTEsdCollectorComponent, 0)