compilation error fixed
[u/mrichter/AliRoot.git] / HLT / ITS / AliHLTITSClusterHistoComponent.h
CommitLineData
c0b68f8e 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTITSCLUSTERHISTOCOMPONENT_H
4#define ALIHLTITSCLUSTERHISTOCOMPONENT_H
5//* This file is property of and copyright by the ALICE HLT Project *
6//* ALICE Experiment at CERN, All rights reserved. *
7//* See cxx source for full Copyright notice *
8
91edcbad 9/** @file AliHLTITSClusterHistoComponent.h
c0b68f8e 10 @author Gaute Ovrebekk
11 @brief Component for ploting clusters
12*/
13
14#include "AliHLTProcessor.h"
15#include "TH1F.h"
16#include "TH2F.h"
c0b68f8e 17#include "AliHLTITSSpacePointData.h"
18#include "TClonesArray.h"
19#include "AliITSRecPoint.h"
20
c0b68f8e 21/**
22 * @class AliHLTITSQHistoComponent
23 * Component for ploting charge in clusters
24 *
91edcbad 25 * Component ID: \b ITSClusterHisto <br>
26 * Library: \b libAliHLTITS.so
c0b68f8e 27 *
28 * Mandatory arguments: <br>
29 *
30 *
31 * Optional arguments: <br>
91edcbad 32 * \li -plot-all <br>
33 * will plot all histograms in the component.
34 * \li -plot-xy <br>
35 * will plot a historgam of the x and y projection of the clusters.
36 * \li -plot-charge <i> multiplicity </i> <br>
37 * will plot the charge of the clusters.
38 * \li -plot-phieta <br>
39 * will plot the phi vs eta distrubution of the clusters.
c0b68f8e 40 * @ingroup alihlt_tpc_components
41 */
42class AliHLTITSClusterHistoComponent : public AliHLTProcessor
43{
44public:
45 /** default constructor */
46 AliHLTITSClusterHistoComponent();
47 /** destructor */
48 virtual ~AliHLTITSClusterHistoComponent();
49
50 // Public functions to implement AliHLTComponent's interface.
51 // These functions are required for the registration process
52
53 /** interface function, see AliHLTComponent for description */
54 const char* GetComponentID();
55 /** interface function, see AliHLTComponent for description */
56 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
57 /** interface function, see AliHLTComponent for description */
58 AliHLTComponentDataType GetOutputDataType();
59 /** interface function, see AliHLTComponent for description */
60 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
61 /** interface function, see AliHLTComponent for description */
62 AliHLTComponent* Spawn();
63
64protected:
65
66 // Protected functions to implement AliHLTComponent's interface.
67 // These functions provide initialization as well as the actual processing
68 // capabilities of the component.
69
70 /** interface function, see AliHLTComponent for description */
71 int DoInit( int argc, const char** argv );
72 /** interface function, see AliHLTComponent for description */
73 int DoDeinit();
74 /** interface function, see AliHLTComponent for description */
75 int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
76
77 int Reconfigure(const char* cdbEntry, const char* chainId);
78
79 using AliHLTProcessor::DoEvent;
80
81private:
82 /** copy constructor prohibited */
83 AliHLTITSClusterHistoComponent(const AliHLTITSClusterHistoComponent&);
84 /** assignment operator prohibited */
85 AliHLTITSClusterHistoComponent& operator=(const AliHLTITSClusterHistoComponent&);
86 /**
87 * Configure the component.
88 * Parse a string for the configuration arguments and set the component
89 * properties.
90 */
91 int Configure(const char* arguments);
92
93 TH2F * fXY; //! transient
0b26a583 94 TH2F **fPhieta; //! transient
c0b68f8e 95 TH1F * fCharge; //! transient
96
97 Bool_t fPlotCharge; //! transient
0b26a583 98 Bool_t fPlotXYPhiEta; //! transient
59918cb1 99
100 /// maximum required size of the output buffer
101 /// dynamically adjusted
102 int fOutputSize; //! transient
c0b68f8e 103
59918cb1 104 ClassDef(AliHLTITSClusterHistoComponent, 3);
c0b68f8e 105
106};
107#endif