2 /**************************************************************************
3 * This file is property of and copyright by the ALICE HLT Project *
4 * All rights reserved. *
6 * Primary Authors: Oystein Djuvsland *
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 **************************************************************************/
17 #ifndef ALIHLTPHOSESDCALOCLUSTERMAKERCOMPONENT_H
18 #define ALIHLTPHOSESDCALOCLUSTERMAKERCOMPONENT_H
24 * ESD maker component for PHOS HLT
26 * @file AliHLTPHOSESDCaloClusterMakerComponent.h
27 * @author Oystein Djuvsland
29 * @brief An ESD maker component for PHOS HLT
32 // see below for class documentation
34 // refer to README to build package
36 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
38 #include "AliHLTPHOSProcessor.h"
40 class AliHLTPHOSESDCaloClusterMaker;
41 class AliHLTPHOSCaloClusterContainerStruct;
45 * @class AliHLTPHOSESDCaloClusterMakerComponent
47 * HLT component for making AliESDEvent from AliHLTPHOSCaloClusterDataStructs
49 * @ingroup alihlt_phos
51 class AliHLTPHOSESDCaloClusterMakerComponent: public AliHLTPHOSProcessor
57 AliHLTPHOSESDCaloClusterMakerComponent();
60 virtual ~AliHLTPHOSESDCaloClusterMakerComponent();
62 /** Copy constructor */
63 AliHLTPHOSESDCaloClusterMakerComponent(const AliHLTPHOSESDCaloClusterMakerComponent &) :
64 AliHLTPHOSProcessor(),
65 fESDCaloClusterMakerPtr(0),
66 fESDCaloClustersPtr(0)
68 //Copy constructor not implemented
72 AliHLTPHOSESDCaloClusterMakerComponent & operator = (const AliHLTPHOSESDCaloClusterMakerComponent)
78 /** interface function, see @ref AliHLTComponent for description */
79 const char* GetComponentID();
81 /** interface function, see @ref AliHLTComponent for description */
82 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
84 /** interface function, see @ref AliHLTComponent for description */
85 AliHLTComponentDataType GetOutputDataType();
87 /** interface function, see @ref AliHLTComponent for description */
88 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
90 /** interface function, see @ref AliHLTComponent for description */
91 using AliHLTPHOSProcessor::DoEvent;
92 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
94 /** interface function, see @ref AliHLTComponent for description */
95 AliHLTComponent* Spawn();
99 /** interface function, see @ref AliHLTComponent for description */
100 int DoInit(int argc, const char** argv);
102 /** interface function, see @ref AliHLTComponent for description */
107 /** Pointer to the ESD maker it self */
108 AliHLTPHOSESDCaloClusterMaker* fESDCaloClusterMakerPtr; //! transient
110 /** Pointer to the ESD calo cluster array*/
111 TClonesArray* fESDCaloClustersPtr; //! transient