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