]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSPhysicsAnalyzerSpectrumComponent.h
Selectiv readout and writing to FXS (oystein)
[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();
25b7f84c 65
66 /** Copy constructor */
67 AliHLTPHOSPhysicsAnalyzerSpectrumComponent(const AliHLTPHOSPhysicsAnalyzerSpectrumComponent &);
d2b84453 68
25b7f84c 69 /** Assignment */
70 AliHLTPHOSPhysicsAnalyzerSpectrumComponent & operator = (const AliHLTPHOSPhysicsAnalyzerSpectrumComponent &)
71 {
72 // Assignment
73 return *this;
74 }
2374af72 75
76 /** interface function, see @ref AliHLTComponent for description */
2410262d 77 const char* GetComponentID();
2374af72 78
79 /** interface function, see @ref AliHLTComponent for description */
7c4091c1 80 void GetInputDataTypes(vector<AliHLTComponentDataType>& list);
2410262d 81
2374af72 82 /** interface function, see @ref AliHLTComponent for description */
2410262d 83 AliHLTComponentDataType GetOutputDataType();
84
2374af72 85 /** interface function, see @ref AliHLTComponent for description */
2410262d 86 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
87
2374af72 88 /** interface function, see @ref AliHLTComponent for description */
2410262d 89 Int_t DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*,
90 AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&,
2374af72 91 std::vector<AliHLTComponentBlockData>&);
92 /** interface function, see @ref AliHLTComponent for description */
93 /*
7c4091c1 94 int DoEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
2374af72 95 */
2410262d 96
2374af72 97 /** interface function, see @ref AliHLTComponent for description */
2410262d 98 AliHLTComponent* Spawn();
99
100 protected:
101
2374af72 102 /** interface function, see @ref AliHLTComponent for description */
2410262d 103 Int_t DoInit(int argc, const char** argv);
2374af72 104
105 /** interface function, see @ref AliHLTComponent for description */
2410262d 106 Int_t Deinit();
2374af72 107
108 // using AliHLTPHOSProcessor::DoEvent;
2410262d 109
110 private:
111
2374af72 112 /** Pointer to spectrum analyzer */
113 AliHLTPHOSPhysicsAnalyzerSpectrum* fAnalyzerPtr; //! transient
114
115 /** Pointer to peak fitter */
116 AliHLTPHOSPhysicsAnalyzerPeakFitter* fPeakFitter; //! transient
117
118 /** Pointer to histogram */
119 TH1F* fRootHistPtr; //! transient
120
121 /** Pointer to array of clusters */
122 AliHLTPHOSRecPointDataStruct* fRecPointArrayPtr[10000]; //! transient
123
124 /** Interval for writing to disk */
125 Int_t fWriteInterval; //COMMENT
126
127 /** Data types */
128 static const AliHLTComponentDataType fgkInputDataTypes[]; // COMMENT
129
130 /** Event count */
131 static UInt_t fgCount; //COMMENT
2410262d 132};
133
134#endif