]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/BASE/util/AliHLTEsdCollectorComponent.h
fixing warnings
[u/mrichter/AliRoot.git] / HLT / BASE / util / AliHLTEsdCollectorComponent.h
CommitLineData
c1292031 1// -*- Mode: C++ -*-
2// $Id$
3
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 *
9
10/** @file AliHLTEsdCollectorComponent.h
11 @author Matthias Richter
12 @date
13 @brief Collect ESDs of multiple events and write toi file
14*/
15
16#include "AliHLTFileWriter.h"
17
18class AliHLTEsdManager;
19
20/**
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.
27 *
794de106 28 * The file name of the ESD file is derived from the origin of the ESD data
29 * block.
30 *
a7ad9794 31 * <h2>General properties:</h2>
c1292031 32 *
a7ad9794 33 * Component ID: \b EsdCollector <br>
34 * Library: \b libAliHLTUtil.so <br>
35 * Input Data Types: kAliHLTDataTypeESDObject, kAliHLTDataTypeESDTree <br>
36 * Output Data Types: none <br>
37 *
38 * <h2>Mandatory arguments:</h2>
c1292031 39 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
40 *
a7ad9794 41 * <h2>Optional arguments:</h2>
42 * The only AliHLTFileWriter argument of relevance is the \em -directory
794de106 43 * argument. See AliHLTFileWriter for full list of arguments. Note: The
44 * file name of the ESD file is derieved from the origin of the ESD
45 * data block.
a7ad9794 46 *
47 * <h2>Configuration:</h2>
c1292031 48 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
a7ad9794 49 * Configuration by component arguments.
50 *
51 * <h2>Default CDB entries:</h2>
52 * The component loads no CDB entries.
53 *
54 * <h2>Performance:</h2>
55 * The component does not process any event data.
56 *
57 * <h2>Memory consumption:</h2>
58 * The component does not process any event data.
59 *
60 * <h2>Output size:</h2>
61 * No data published (AliHLTDataSink).
c1292031 62 *
a7ad9794 63 * @ingroup alihlt_util_components
c1292031 64 */
65class AliHLTEsdCollectorComponent : public AliHLTFileWriter
66{
67 public:
68 /** standard constructor */
69 AliHLTEsdCollectorComponent();
70 /** destructor */
71 virtual ~AliHLTEsdCollectorComponent();
72
73 /**
74 * The id of the component.
75 * @return component id (string)
76 */
77 const char* GetComponentID() {return "EsdCollector";};
78
79 /**
80 * Spawn function.
81 * @return new class instance
82 */
83 AliHLTComponent* Spawn() {return new AliHLTEsdCollectorComponent;}
84
85 protected:
86 // interface functions
87 int InitWriter();
88 int CloseWriter();
89 int DumpEvent( const AliHLTComponentEventData& evtData,
90 const AliHLTComponentBlockData* blocks,
91 AliHLTComponentTriggerData& trigData );
92
93 using AliHLTFileWriter::DumpEvent;
94 int ScanArgument(int argc, const char** argv);
95
96private:
97 /** copy constructor prohibited */
98 AliHLTEsdCollectorComponent(const AliHLTEsdCollectorComponent&);
99 /** assignment operator prohibited */
100 AliHLTEsdCollectorComponent& operator=(const AliHLTEsdCollectorComponent&);
101
102 /** the ESD manager instance writes the ESDs */
103 AliHLTEsdManager* fpManager; //! transient
104
105 ClassDef(AliHLTEsdCollectorComponent, 0)
106};
107#endif