]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCClusterHistoComponent.h
cleaning memory on error condition and loop break
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCClusterHistoComponent.h
CommitLineData
0efebbac 1// $Id$
2#ifndef ALIHLTTPCCLUSTERHISTOCOMPONENT_H
3#define ALIHLTTPCCLUSTERHISTOCOMPONENT_H
4//* This file is property of and copyright by the ALICE HLT Project *
5//* ALICE Experiment at CERN, All rights reserved. *
6//* See cxx source for full Copyright notice *
7
8/** @file AliHLTTPCQHistoComponent.h
9 @author Gaute Ovrebekk
10 @brief Component for ploting charge in clusters
11*/
12
13#include "AliHLTProcessor.h"
14#include "TH1F.h"
15#include "AliHLTTPCSpacePointData.h"
16#include "AliHLTTPCTrackSegmentData.h"
17
18class AliHLTTPCConfMapper;
19
20/**
21 * @class AliHLTTPCQHistoComponent
22 * Component for ploting charge in clusters
23 *
24 * Component ID: \b TPCQHisto <br>
25 * Library: \b libAliHLTTPC.
26 *
27 * Mandatory arguments: <br>
28 *
29 *
30 * Optional arguments: <br>
31 *
32 *
33 * @ingroup alihlt_tpc_components
34 */
35class AliHLTTPCClusterHistoComponent : public AliHLTProcessor
36{
37public:
38 /** default constructor */
39 AliHLTTPCClusterHistoComponent();
40 /** destructor */
41 virtual ~AliHLTTPCClusterHistoComponent();
42
43 // Public functions to implement AliHLTComponent's interface.
44 // These functions are required for the registration process
45
9783a5cf 46 /** interface function, see AliHLTComponent for description */
0efebbac 47 const char* GetComponentID();
9783a5cf 48 /** interface function, see AliHLTComponent for description */
0efebbac 49 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
9783a5cf 50 /** interface function, see AliHLTComponent for description */
0efebbac 51 AliHLTComponentDataType GetOutputDataType();
9783a5cf 52 /** interface function, see AliHLTComponent for description */
0efebbac 53 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
9783a5cf 54 /** interface function, see AliHLTComponent for description */
0efebbac 55 AliHLTComponent* Spawn();
56
57protected:
58
59 // Protected functions to implement AliHLTComponent's interface.
60 // These functions provide initialization as well as the actual processing
61 // capabilities of the component.
62
9783a5cf 63 /** interface function, see AliHLTComponent for description */
0efebbac 64 int DoInit( int argc, const char** argv );
9783a5cf 65 /** interface function, see AliHLTComponent for description */
0efebbac 66 int DoDeinit();
9783a5cf 67 /** interface function, see AliHLTComponent for description */
0efebbac 68 int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
69
70 int Reconfigure(const char* cdbEntry, const char* chainId);
71
72 using AliHLTProcessor::DoEvent;
73
74private:
75 /** copy constructor prohibited */
76 AliHLTTPCClusterHistoComponent(const AliHLTTPCClusterHistoComponent&);
77 /** assignment operator prohibited */
78 AliHLTTPCClusterHistoComponent& operator=(const AliHLTTPCClusterHistoComponent&);
79 /**
80 * Configure the component.
81 * Parse a string for the configuration arguments and set the component
82 * properties.
83 */
84 int Configure(const char* arguments);
85
86 TH1F * fTotalClusterChargeOROCAll; //! transient
87 TH1F * fTotalClusterChargeIROCAll; //! transient
88 TH1F * fTotalClusterChargeROCSelection; //! transient
89 TH1F * fTotalClusterChargePartitionSelection; //! transient
90 TH1F * fQMaxPartitionAll; //! transient
91 TH1F * fQMaxROCAll; //! transient
92 TH1F * fNumberOfClusters; //! transient
93
94 Bool_t fPlotChargeOROCAll; //! transient
95 Bool_t fPlotChargeIROCAll; //! transient
96 Bool_t fPlotChargeROCSel; //! transient
97 Bool_t fPlotChargePartSel; //! transient
98 Bool_t fPlotQmaxPartAll; //! transient
99 Bool_t fPlotQmaxROCAll; //! transient
100 Bool_t fPlotNClusters; //! transient
101
102 ClassDef(AliHLTTPCClusterHistoComponent, 0);
103
104};
105#endif