]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSESDMakerComponent.h
Selectiv readout and writing to FXS (oystein)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSESDMakerComponent.h
CommitLineData
5f96dd31 1/**************************************************************************
2 * This file is property of and copyright by the ALICE HLT Project *
3 * All rights reserved. *
4 * *
5 * Primary Authors: Oystein Djuvsland *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16#ifndef ALIHLTPHOSESDMAKERCOMPONENT_H
17#define ALIHLTPHOSESDMAKERCOMPONENT_H
18
19
20
21/**
22 * ESD maker component for PHOS HLT
23 *
24 * @file AliHLTPHOSESDMakerComponent.h
25 * @author Oystein Djuvsland
26 * @date
27 * @brief An ESD maker component for PHOS HLT
28*/
29
30// see below for class documentation
31// or
32// refer to README to build package
33// or
34// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
35
36#include "AliHLTPHOSProcessor.h"
37
38class AliHLTPHOSESDMaker;
39class AliHLTPHOSCaloClusterContainerStruct;
40class AliESDEvent;
41
42/**
43 * @class AliHLTPHOSESDMakerComponent
44 *
45 * HLT component for making AliESDEvent from AliHLTPHOSCaloClusterDataStructs
46 *
47 * @ingroup alihlt_phos
48 */
49class AliHLTPHOSESDMakerComponent: public AliHLTPHOSProcessor
50{
51 public:
52
53 /** Constructor */
54
55 AliHLTPHOSESDMakerComponent();
56
57 /** Destructor */
58 virtual ~AliHLTPHOSESDMakerComponent();
59
25b7f84c 60 /** Copy constructor */
61 AliHLTPHOSESDMakerComponent(const AliHLTPHOSESDMakerComponent &) :
62 AliHLTPHOSProcessor(),
63 fESDMakerPtr(0),
64 fESDEventPtr(0)
65
66 {
67 //Copy constructor not implemented
68 }
69
70 /** Assignment */
71 AliHLTPHOSESDMakerComponent & operator = (const AliHLTPHOSESDMakerComponent)
72 {
73 //Assignment
74 return *this;
75 }
76
5f96dd31 77 /** interface function, see @ref AliHLTComponent for description */
78 const char* GetComponentID();
79
80 /** interface function, see @ref AliHLTComponent for description */
81 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
82
83 /** interface function, see @ref AliHLTComponent for description */
84 AliHLTComponentDataType GetOutputDataType();
85
86 /** interface function, see @ref AliHLTComponent for description */
87 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
88
89 /** interface function, see @ref AliHLTComponent for description */
90 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
91
92 /** interface function, see @ref AliHLTComponent for description */
93 AliHLTComponent* Spawn();
94
95protected:
96
97 /** interface function, see @ref AliHLTComponent for description */
98 int DoInit(int argc, const char** argv);
99
100 /** interface function, see @ref AliHLTComponent for description */
101 int Deinit();
102
103private:
104
105 /** Pointer to the ESD maker it self */
106 AliHLTPHOSESDMaker* fESDMakerPtr;
107
108 AliESDEvent* fESDEventPtr;
109
110 /** interface function, see @ref AliHLTComponent for description */
111 static const AliHLTComponentDataType fgkInputDataTypes[];
112};
113
114
115#endif