]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSESDCaloClusterWriterComponent.h
Hack to get it running with current setup
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSESDCaloClusterWriterComponent.h
CommitLineData
87434909 1
2/**************************************************************************
3 * This file is property of and copyright by the ALICE HLT Project *
4 * All rights reserved. *
5 * *
6 * Primary Authors: Oystein Djuvsland *
7 * *
8 * Permission to use, copy, modify and distribute this software and its *
9 * documentation strictly for non-commercial purposes is hereby granted *
10 * without fee, provided that the above copyright notice appears in all *
11 * copies and that both the copyright notice and this permission notice *
12 * appear in the supporting documentation. The authors make no claims *
13 * about the suitability of this software for any purpose. It is *
14 * provided "as is" without express or implied warranty. *
15 **************************************************************************/
16
17#ifndef ALIHLTPHOSESDCALOCLUSTERWRITERCOMPONENT_H
18#define ALIHLTPHOSESDCALOCLUSTERWRITERCOMPONENT_H
19
20/**
21 * ESD Calo cluster writer component for PHOS HLT
22 *
23 * @file AliHLTPHOSESDCaloClusterWriterComponent.h
24 * @author Oystein Djuvsland
25 * @date
26 * @brief An ESD maker component for PHOS HLT
27*/
28
29// see below for class documentation
30// or
31// refer to README to build package
32// or
33// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
34
35#include "AliHLTPHOSProcessor.h"
36
37class TClonesArray;
38class TTree;
39class TFile;
40/**
41 * @class AliHLTPHOSESDCaloClusterWriterComponent
42 *
43 * HLT component for making AliESDEvent from AliHLTPHOSCaloClusterDataStructs
44 *
45 * @ingroup alihlt_phos
46 */
47class AliHLTPHOSESDCaloClusterWriterComponent: public AliHLTPHOSProcessor
48{
49 public:
50
51 /** Constructor */
52
53 AliHLTPHOSESDCaloClusterWriterComponent();
54
55 /** Destructor */
56 virtual ~AliHLTPHOSESDCaloClusterWriterComponent();
57
58 /** Copy constructor */
59 AliHLTPHOSESDCaloClusterWriterComponent(const AliHLTPHOSESDCaloClusterWriterComponent &) :
60 AliHLTPHOSProcessor(),
61 fOutfile(0),
62 fOutfileName(0),
63 fWriteModulo(1000),
64 fESDCaloClusterTreePtr(0),
65 fESDCaloClustersPtr(0)
66 {
67 //Copy constructor not implemented
68 }
69
70 /** Assignment */
71 AliHLTPHOSESDCaloClusterWriterComponent & operator = (const AliHLTPHOSESDCaloClusterWriterComponent)
72 {
73 //Assignment
74 return *this;
75 }
76
77 /** interface function, see @ref AliHLTComponent for description */
78 const char* GetComponentID();
79
80 /** interface function, see @ref AliHLTComponent for description */
81 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
82
83 /** interface function, see @ref AliHLTComponent for description */
84 AliHLTComponentDataType GetOutputDataType();
85
86 /** interface function, see @ref AliHLTComponent for description */
87 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
88
89 /** interface function, see @ref AliHLTComponent for description */
90 using AliHLTPHOSProcessor::DoEvent;
91 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
92
93 /** interface function, see @ref AliHLTComponent for description */
94 AliHLTComponent* Spawn();
95
96 /** Function for writing the tree containing the clusters */
97 int WriteTree();
98
99protected:
100
101 /** interface function, see @ref AliHLTComponent for description */
102 int DoInit(int argc, const char** argv);
103
104 /** interface function, see @ref AliHLTComponent for description */
105 int Deinit();
106
107private:
108
109
110 /** The file to which we will write */
111 TFile* fOutfile;
112
113 /** The filename */
114 char* fOutfileName;
115
116 /** Write modulo */
117 UInt_t fWriteModulo;
118
119 /** Pointer to the ESD calo cluster tree*/
120 TTree* fESDCaloClusterTreePtr; //! transient
121
122 /** Pointer to the array of clusters */
123 TClonesArray* fESDCaloClustersPtr; //! transient
124
125
126};
127
128
129#endif