]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSESDMaker.h
ESD output for PHOS HLT (hESD) (�ystein)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSESDMaker.h
CommitLineData
5f96dd31 1/**************************************************************************
2 * This file is property of and copyright by the ALICE HLT Project *
3 * All rights reserved. *
4 * *
5 * Primary Authors: Oystein Djuvsland *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16#ifndef ALIHLTPHOSESDMAKER_H
17#define ALIHLTPHOSESDMAKER_H
18
19/**
20 * Class writes ESDs
21 *
22 * @file AliHLTPHOSESDMaker.h
23 * @author Oystein Djuvsland
24 * @date
25 * @brief ESD writer for PHOS HLT
26 */
27
28// see header file for class documentation
29// or
30// refer to README to build package
31// or
32// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
33
34#include "AliHLTPHOSBase.h"
35
36class AliHLTPHOSCaloClusterContainerStruct;
37class TClonesArray;
38class AliESDEvent;
39
40/**
41 * @class AliHLTPHOSESDMaker
42 * Makes ESDs out of reconstruction points, first it creates
43 * the AliESDCaloClusters, then puts them into an AliESD object
44 *
45 * @ingroup alihlt_phos
46 */
47class AliHLTPHOSESDMaker : public AliHLTPHOSBase
48{
49
50public:
51
52 /** Constructor */
53 AliHLTPHOSESDMaker();
54
55 /** Destructor */
56 virtual ~AliHLTPHOSESDMaker();
57
58 /**
59 * Set the AliESDEvent object to be filled
60 * @param is a pointer to the AliESDEvent
61 */
62 void SetESDEvent(AliESDEvent* esdEventPtr) { fESDEventPtr = esdEventPtr; }
63
64 /**
65 * Set the AliHLTPHOSCaloClusterContainerStruct
66 * @param clusterContainerPtr is a pointer to the cluster container
67 */
68 void SetCaloClusterContainer(AliHLTPHOSCaloClusterContainerStruct* clusterContainerPtr)
69 { fCaloClusterContainerPtr = clusterContainerPtr; }
70 /**
71 * Create AliESDCaloClusters from the AliHLTPHOSCaloClusterContainerStruct
72 * @return
73 */
74 Int_t FillESDCaloClusters();
75
76 /**
77 * Fill the AliESDEvent object
78 * @return
79 */
80 Int_t FillESDEvent();
81
82 /**
83 * Reset the ESD and ESDCaloCluster array
84 */
85 void ResetESD();
86
87 /**
88 * Get the AliESDCaloClusters
89 * @return a pointer to a TClonesArray of AliESDCaloClusters
90 */
91 TClonesArray* GetESDCaloClusters() { return fCaloClustersPtr; }
92
93private:
94
95 /** Number of calo clusters */
96 Int_t fNCaloClusters; //COMMENT
97
98 /** Array of AliESDCaloClusters */
99 TClonesArray* fCaloClustersPtr; //! transient
100
101 /** The AliESDEvent object to fill */
102 AliESDEvent* fESDEventPtr; //! transient
103
104 /** The AliHLTPHOSCaloClusterContainerStruct */
105 AliHLTPHOSCaloClusterContainerStruct* fCaloClusterContainerPtr; //! transient
106
107 ClassDef(AliHLTPHOSESDMaker, 1);
108};
109
110#endif