]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSESDMakerComponent.h
- fixing bug in digitmaker
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSESDMakerComponent.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4
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
25
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
43 class AliHLTPHOSESDMaker;
44 class AliHLTPHOSCaloClusterContainerStruct;
45 class AliESDEvent;
46
47 /**
48  * @class AliHLTPHOSESDMakerComponent
49  *
50  * HLT component for making AliESDEvent from AliHLTPHOSCaloClusterDataStructs 
51  *
52  * @ingroup alihlt_phos
53  */
54 class AliHLTPHOSESDMakerComponent: public AliHLTPHOSProcessor
55 {
56  public:
57
58   /** Constructor */
59
60   AliHLTPHOSESDMakerComponent();
61
62   /** Destructor */
63   virtual ~AliHLTPHOSESDMakerComponent();
64
65   /** Copy constructor */  
66  AliHLTPHOSESDMakerComponent(const AliHLTPHOSESDMakerComponent &) : 
67   AliHLTPHOSProcessor(),
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
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 */
95   using AliHLTPHOSProcessor::DoEvent;
96   Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
97
98   /** interface function, see @ref AliHLTComponent for description */
99   AliHLTComponent* Spawn();
100   
101 protected:
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  
109 private:
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