4 /**************************************************************************
5 * This file is property of and copyright by the ALICE HLT Project *
6 * All rights reserved. *
8 * Primary Authors: Oystein Djuvsland *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
19 #ifndef ALIHLTPHOSESDMAKER_H
20 #define ALIHLTPHOSESDMAKER_H
25 * @file AliHLTPHOSESDMaker.h
26 * @author Oystein Djuvsland
28 * @brief ESD writer for PHOS HLT
31 // see header file for class documentation
33 // refer to README to build package
35 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
37 #include "AliHLTPHOSBase.h"
39 class AliHLTPHOSCaloClusterContainerStruct;
44 * @class AliHLTPHOSESDMaker
45 * Makes ESDs out of reconstruction points, first it creates
46 * the AliESDCaloClusters, then puts them into an AliESD object
48 * @ingroup alihlt_phos
50 class AliHLTPHOSESDMaker : public AliHLTPHOSBase
59 virtual ~AliHLTPHOSESDMaker();
61 /** Copy constructor */
62 AliHLTPHOSESDMaker(const AliHLTPHOSESDMaker &) :
67 fCaloClusterContainerPtr(0)
69 //Copy constructor not implemented
73 AliHLTPHOSESDMaker & operator = (const AliHLTPHOSESDMaker)
80 * Set the AliESDEvent object to be filled
81 * @param esdEventPtr is a pointer to the AliESDEvent
83 void SetESDEvent(AliESDEvent* esdEventPtr) { fESDEventPtr = esdEventPtr; }
86 * Set the AliHLTPHOSCaloClusterContainerStruct
87 * @param clusterContainerPtr is a pointer to the cluster container
89 void SetCaloClusterContainer(AliHLTPHOSCaloClusterContainerStruct* clusterContainerPtr)
90 { fCaloClusterContainerPtr = clusterContainerPtr; }
92 * Create AliESDCaloClusters from the AliHLTPHOSCaloClusterContainerStruct
95 Int_t FillESDCaloClusters();
98 * Fill the AliESDEvent object
101 Int_t FillESDEvent();
104 * Fill the AliESDEvent object with clusters from a calo cluster container
105 * @param caloClusterContainerPtr is a pointer to a cluster container
108 Int_t FillESDEvent(AliHLTPHOSCaloClusterContainerStruct* caloClusterContainerPtr);
111 * Reset the ESD and ESDCaloCluster array
116 * Get the AliESDCaloClusters
117 * @return a pointer to a TClonesArray of AliESDCaloClusters
119 TClonesArray* GetESDCaloClusters() { return fCaloClustersPtr; }
123 /** Number of calo clusters */
124 Int_t fNCaloClusters; //COMMENT
126 /** Array of AliESDCaloClusters */
127 TClonesArray* fCaloClustersPtr; //! transient
129 /** The AliESDEvent object to fill */
130 AliESDEvent* fESDEventPtr; //! transient
132 /** The AliHLTPHOSCaloClusterContainerStruct */
133 AliHLTPHOSCaloClusterContainerStruct* fCaloClusterContainerPtr; //! transient
135 ClassDef(AliHLTPHOSESDMaker, 1);