]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSESDMaker.h
1) Removed AliHLTPHOSAltroConfig.cxx/AliHLTPHOSAltroConfig.h
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSESDMaker.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
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
37 //#include "AliHLTPHOSBase.h"
38
39 #include  "Rtypes.h"
40
41 class AliHLTPHOSCaloClusterContainerStruct;
42 class TClonesArray;
43 class 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  */
52 //class AliHLTPHOSESDMaker : public AliHLTPHOSBase
53 class AliHLTPHOSESDMaker 
54 {
55
56 public:
57   
58   /** Constructor */
59   AliHLTPHOSESDMaker();
60   
61   /** Destructor */
62   virtual ~AliHLTPHOSESDMaker();
63
64   /** Copy constructor */  
65   AliHLTPHOSESDMaker(const AliHLTPHOSESDMaker &) : 
66     //    AliHLTPHOSBase(),
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
82   /** 
83    * Set the AliESDEvent object to be filled
84    * @param esdEventPtr is a pointer to the AliESDEvent
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
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
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     
124 private:
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
138   ClassDef(AliHLTPHOSESDMaker, 0);
139 };
140
141 #endif