]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSPhysicsAnalyzerSpectrumComponent.h
Fixing memory leaks (Christian)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSPhysicsAnalyzerSpectrumComponent.h
CommitLineData
2374af72 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 **************************************************************************/
2410262d 16
91b95d47 17#ifndef ALIHLTPHOSPHYSICSANALYZERSPECTRUMCOMPONENT_H
18#define ALIHLTPHOSPHYSICSANALYZERSPECTRUMCOMPONENT_H
2410262d 19
2374af72 20/**
21 * Invariant mass spectrum component for PHOS HLT
22 *
23 * @file AliHLTPHOSPhysicsAnalyzerSpectrumComponent.h
24 * @author Oystein Djuvsland
25 * @date
26 * @brief An invariant mass spectrum 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
9c9d15d6 35// removed PTH#include "AliHLTProcessor.h"
36#include "AliHLTPHOSProcessor.h" // added by PTH
d2b84453 37#include "AliHLTPHOSBase.h"
91b95d47 38
39class TH1F;
40class AliHLTPHOSPhysicsAnalyzerSpectrum;
41class AliHLTPHOSPhysicsAnalyzerPeakFitter;
91b95d47 42class AliHLTPHOSDefinitions;
91b95d47 43class TFile;
2374af72 44class AliHLTPHOSRecPointDataStruct;
45
46/**
47 * @class AliHLTPHOSClusterizerComponent
48 *
49 * Class for making an invariant mass spectrum histogram from 2 gammas.
50 * Takes as input AliHLTPHOSRecPointContainerStruct
51 *
52 *
53 * @ingroup alihlt_phos
54 */
9c9d15d6 55// PTH class AliHLTPHOSPhysicsAnalyzerSpectrumComponent: public AliHLTPHOSBase, public AliHLTProcessor
56class AliHLTPHOSPhysicsAnalyzerSpectrumComponent: public AliHLTPHOSProcessor // added by PTH
2410262d 57{
58 public:
59
2374af72 60 /** Constructor */
2410262d 61 AliHLTPHOSPhysicsAnalyzerSpectrumComponent();
2374af72 62
63 /** Destructor */
2410262d 64 ~AliHLTPHOSPhysicsAnalyzerSpectrumComponent();
d2b84453 65
66 // PTH AliHLTPHOSPhysicsAnalyzerSpectrumComponent(const AliHLTPHOSPhysicsAnalyzerSpectrumComponent &);
67 // AliHLTPHOSPhysicsAnalyzerSpectrumComponent & operator = (const AliHLTPHOSPhysicsAnalyzerSpectrumComponent &)
68 // {
69 // return *this;
70 // }
2374af72 71
72 /** interface function, see @ref AliHLTComponent for description */
2410262d 73 const char* GetComponentID();
2374af72 74
75 /** interface function, see @ref AliHLTComponent for description */
7c4091c1 76 void GetInputDataTypes(vector<AliHLTComponentDataType>& list);
2410262d 77
2374af72 78 /** interface function, see @ref AliHLTComponent for description */
2410262d 79 AliHLTComponentDataType GetOutputDataType();
80
2374af72 81 /** interface function, see @ref AliHLTComponent for description */
2410262d 82 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
83
2374af72 84 /** interface function, see @ref AliHLTComponent for description */
2410262d 85 Int_t DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*,
86 AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&,
2374af72 87 std::vector<AliHLTComponentBlockData>&);
88 /** interface function, see @ref AliHLTComponent for description */
89 /*
7c4091c1 90 int DoEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
2374af72 91 */
2410262d 92
2374af72 93 /** interface function, see @ref AliHLTComponent for description */
2410262d 94 AliHLTComponent* Spawn();
95
96 protected:
97
2374af72 98 /** interface function, see @ref AliHLTComponent for description */
2410262d 99 Int_t DoInit(int argc, const char** argv);
2374af72 100
101 /** interface function, see @ref AliHLTComponent for description */
2410262d 102 Int_t Deinit();
2374af72 103
104 // using AliHLTPHOSProcessor::DoEvent;
2410262d 105
106 private:
107
2374af72 108 /** Pointer to spectrum analyzer */
109 AliHLTPHOSPhysicsAnalyzerSpectrum* fAnalyzerPtr; //! transient
110
111 /** Pointer to peak fitter */
112 AliHLTPHOSPhysicsAnalyzerPeakFitter* fPeakFitter; //! transient
113
114 /** Pointer to histogram */
115 TH1F* fRootHistPtr; //! transient
116
117 /** Pointer to array of clusters */
118 AliHLTPHOSRecPointDataStruct* fRecPointArrayPtr[10000]; //! transient
119
120 /** Interval for writing to disk */
121 Int_t fWriteInterval; //COMMENT
122
123 /** Data types */
124 static const AliHLTComponentDataType fgkInputDataTypes[]; // COMMENT
125
126 /** Event count */
127 static UInt_t fgCount; //COMMENT
2410262d 128};
129
130#endif