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"
41 class AliHLTPHOSCaloClusterContainerStruct;
46 * @class AliHLTPHOSESDMaker
47 * Makes ESDs out of reconstruction points, first it creates
48 * the AliESDCaloClusters, then puts them into an AliESD object
50 * @ingroup alihlt_phos
52 //class AliHLTPHOSESDMaker : public AliHLTPHOSBase
53 class AliHLTPHOSESDMaker
62 virtual ~AliHLTPHOSESDMaker();
64 /** Copy constructor */
65 AliHLTPHOSESDMaker(const AliHLTPHOSESDMaker &) :
70 fCaloClusterContainerPtr(0)
72 //Copy constructor not implemented
76 AliHLTPHOSESDMaker & operator = (const AliHLTPHOSESDMaker)
83 * Set the AliESDEvent object to be filled
84 * @param esdEventPtr is a pointer to the AliESDEvent
86 void SetESDEvent(AliESDEvent* esdEventPtr) { fESDEventPtr = esdEventPtr; }
89 * Set the AliHLTPHOSCaloClusterContainerStruct
90 * @param clusterContainerPtr is a pointer to the cluster container
92 void SetCaloClusterContainer(AliHLTPHOSCaloClusterContainerStruct* clusterContainerPtr)
93 { fCaloClusterContainerPtr = clusterContainerPtr; }
95 * Create AliESDCaloClusters from the AliHLTPHOSCaloClusterContainerStruct
98 Int_t FillESDCaloClusters();
101 * Fill the AliESDEvent object
104 Int_t FillESDEvent();
107 * Fill the AliESDEvent object with clusters from a calo cluster container
108 * @param caloClusterContainerPtr is a pointer to a cluster container
111 Int_t FillESDEvent(AliHLTPHOSCaloClusterContainerStruct* caloClusterContainerPtr);
114 * Reset the ESD and ESDCaloCluster array
119 * Get the AliESDCaloClusters
120 * @return a pointer to a TClonesArray of AliESDCaloClusters
122 TClonesArray* GetESDCaloClusters() { return fCaloClustersPtr; }
126 /** Number of calo clusters */
127 Int_t fNCaloClusters; //COMMENT
129 /** Array of AliESDCaloClusters */
130 TClonesArray* fCaloClustersPtr; //! transient
132 /** The AliESDEvent object to fill */
133 AliESDEvent* fESDEventPtr; //! transient
135 /** The AliHLTPHOSCaloClusterContainerStruct */
136 AliHLTPHOSCaloClusterContainerStruct* fCaloClusterContainerPtr; //! transient
138 ClassDef(AliHLTPHOSESDMaker, 0);