]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSESDMaker.h
- changes to make the clusterisation work for EMCAL
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSESDMaker.h
CommitLineData
1b41ab20 1//-*- Mode: C++ -*-
2// $Id$
3
5f96dd31 4/**************************************************************************
5 * This file is property of and copyright by the ALICE HLT Project *
6 * All rights reserved. *
7 * *
8 * Primary Authors: Oystein Djuvsland *
9 * *
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 **************************************************************************/
18
19#ifndef ALIHLTPHOSESDMAKER_H
20#define ALIHLTPHOSESDMAKER_H
21
22/**
23 * Class writes ESDs
24 *
25 * @file AliHLTPHOSESDMaker.h
26 * @author Oystein Djuvsland
27 * @date
28 * @brief ESD writer for PHOS HLT
29 */
30
31// see header file for class documentation
32// or
33// refer to README to build package
34// or
35// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
36
9f050726 37//#include "AliHLTPHOSBase.h"
38
39#include "Rtypes.h"
5f96dd31 40
41class AliHLTPHOSCaloClusterContainerStruct;
42class TClonesArray;
43class AliESDEvent;
44
45/**
46 * @class AliHLTPHOSESDMaker
47 * Makes ESDs out of reconstruction points, first it creates
48 * the AliESDCaloClusters, then puts them into an AliESD object
49 *
50 * @ingroup alihlt_phos
51 */
9f050726 52//class AliHLTPHOSESDMaker : public AliHLTPHOSBase
53class AliHLTPHOSESDMaker
5f96dd31 54{
55
56public:
57
58 /** Constructor */
59 AliHLTPHOSESDMaker();
60
61 /** Destructor */
62 virtual ~AliHLTPHOSESDMaker();
63
25b7f84c 64 /** Copy constructor */
65 AliHLTPHOSESDMaker(const AliHLTPHOSESDMaker &) :
9f050726 66 // AliHLTPHOSBase(),
25b7f84c 67 fNCaloClusters(0),
68 fCaloClustersPtr(0),
69 fESDEventPtr(0),
70 fCaloClusterContainerPtr(0)
71 {
72 //Copy constructor not implemented
73 }
74
75 /** Assignment */
76 AliHLTPHOSESDMaker & operator = (const AliHLTPHOSESDMaker)
77 {
78 //Assignment
79 return *this;
80 }
81
5f96dd31 82 /**
83 * Set the AliESDEvent object to be filled
18af2efc 84 * @param esdEventPtr is a pointer to the AliESDEvent
5f96dd31 85 */
86 void SetESDEvent(AliESDEvent* esdEventPtr) { fESDEventPtr = esdEventPtr; }
87
88 /**
89 * Set the AliHLTPHOSCaloClusterContainerStruct
90 * @param clusterContainerPtr is a pointer to the cluster container
91 */
92 void SetCaloClusterContainer(AliHLTPHOSCaloClusterContainerStruct* clusterContainerPtr)
93 { fCaloClusterContainerPtr = clusterContainerPtr; }
94 /**
95 * Create AliESDCaloClusters from the AliHLTPHOSCaloClusterContainerStruct
96 * @return
97 */
98 Int_t FillESDCaloClusters();
99
100 /**
101 * Fill the AliESDEvent object
102 * @return
103 */
104 Int_t FillESDEvent();
105
25b7f84c 106 /**
107 * Fill the AliESDEvent object with clusters from a calo cluster container
108 * @param caloClusterContainerPtr is a pointer to a cluster container
109 * @return
110 */
111 Int_t FillESDEvent(AliHLTPHOSCaloClusterContainerStruct* caloClusterContainerPtr);
112
5f96dd31 113 /**
114 * Reset the ESD and ESDCaloCluster array
115 */
116 void ResetESD();
117
118 /**
119 * Get the AliESDCaloClusters
120 * @return a pointer to a TClonesArray of AliESDCaloClusters
121 */
122 TClonesArray* GetESDCaloClusters() { return fCaloClustersPtr; }
123
124private:
125
126 /** Number of calo clusters */
127 Int_t fNCaloClusters; //COMMENT
128
129 /** Array of AliESDCaloClusters */
130 TClonesArray* fCaloClustersPtr; //! transient
131
132 /** The AliESDEvent object to fill */
133 AliESDEvent* fESDEventPtr; //! transient
134
135 /** The AliHLTPHOSCaloClusterContainerStruct */
136 AliHLTPHOSCaloClusterContainerStruct* fCaloClusterContainerPtr; //! transient
137
87434909 138 ClassDef(AliHLTPHOSESDMaker, 0);
5f96dd31 139};
140
141#endif