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