]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSPhysicsAnalyzerSpectrumComponent.h
Fixed the last compilation warnings
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSPhysicsAnalyzerSpectrumComponent.h
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 ALIHLTPHOSPHYSICSANALYZERSPECTRUMCOMPONENT_H
18 #define ALIHLTPHOSPHYSICSANALYZERSPECTRUMCOMPONENT_H
19
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
35 // removed  PTH#include "AliHLTProcessor.h"
36 #include "AliHLTPHOSProcessor.h" // added by PTH
37 #include "AliHLTPHOSBase.h"
38
39 class TH1F;
40 class AliHLTPHOSPhysicsAnalyzerSpectrum;
41 class AliHLTPHOSPhysicsAnalyzerPeakFitter;
42 class AliHLTPHOSDefinitions;
43 class TFile;
44 class  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  */
55 // PTH class AliHLTPHOSPhysicsAnalyzerSpectrumComponent: public AliHLTPHOSBase, public AliHLTProcessor
56 class AliHLTPHOSPhysicsAnalyzerSpectrumComponent: public AliHLTPHOSProcessor // added by PTH
57 {
58  public:
59
60   /** Constructor */
61   AliHLTPHOSPhysicsAnalyzerSpectrumComponent();
62
63   /** Destructor */
64   ~AliHLTPHOSPhysicsAnalyzerSpectrumComponent();
65   
66   /** Copy constructor */
67   AliHLTPHOSPhysicsAnalyzerSpectrumComponent(const AliHLTPHOSPhysicsAnalyzerSpectrumComponent &);
68
69   /** Assignment */
70   AliHLTPHOSPhysicsAnalyzerSpectrumComponent & operator = (const AliHLTPHOSPhysicsAnalyzerSpectrumComponent &)
71   {
72     // Assignment
73     return *this;
74   }
75
76   /** interface function, see @ref AliHLTComponent for description */
77   const char* GetComponentID();
78
79   /** interface function, see @ref AliHLTComponent for description */
80   void GetInputDataTypes(vector<AliHLTComponentDataType>& list);
81
82   /** interface function, see @ref AliHLTComponent for description */
83   AliHLTComponentDataType GetOutputDataType();
84
85   /** interface function, see @ref AliHLTComponent for description */
86   void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
87
88   /** interface function, see @ref AliHLTComponent for description */ 
89   Int_t DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*,
90                 AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&,
91                 std::vector<AliHLTComponentBlockData>&);
92   /** interface function, see @ref AliHLTComponent for description */
93   /*
94   int DoEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
95   */
96
97   /** interface function, see @ref AliHLTComponent for description */
98   AliHLTComponent* Spawn();
99
100  protected:
101   using AliHLTProcessor::DoEvent;
102   /** interface function, see @ref AliHLTComponent for description */
103   Int_t DoInit(int argc, const char** argv);
104
105   /** interface function, see @ref AliHLTComponent for description */
106   Int_t Deinit();
107
108   //  using AliHLTPHOSProcessor::DoEvent;
109   
110  private:
111   
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
132 };
133
134 #endif