Changes for #90436: Misuse of TClonesArray containing AliESDMuonCluster
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDTrackHistoComponent.h
CommitLineData
ae24e8b7 1//-*- Mode: C++ -*-
2// $Id$
3
4#ifndef ALIHLTTRDTRACKHISTOCOMPONENT_H
5#define ALIHLTTRDTRACKHISTOCOMPONENT_H
6//* This file is property of and copyright by the ALICE HLT Project *
7//* ALICE Experiment at CERN, All rights reserved. *
8//* See cxx source for full Copyright notice *
9
10
11#include "AliHLTProcessor.h"
12
13/**
14 * @class AliHLTTRDQHistoComponent
15 * Component for ploting charge in clusters
16 *
17 * Component ID: \b TRDQHisto <br>
18 * Library: \b libAliHLTTRD.
19 *
20 * Mandatory arguments: <br>
21 *
22 *
23 * Optional arguments: <br>
24 *
25 *
26 * @ingroup alihlt_tpc_components
27 */
28
29class TH1F;
30class TClonesArray;
31class AliHLTTRDTrackHistoComponent : public AliHLTProcessor
32{
33public:
34 /** default constructor */
35 AliHLTTRDTrackHistoComponent();
36 /** destructor */
37 virtual ~AliHLTTRDTrackHistoComponent();
38
39 // Public functions to implement AliHLTComponent's interface.
40 // These functions are required for the registration process
41
42 /** interface function, see AliHLTComponent for description */
43 const char* GetComponentID();
44 /** interface function, see AliHLTComponent for description */
45 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
46 /** interface function, see AliHLTComponent for description */
47 AliHLTComponentDataType GetOutputDataType();
48 /** interface function, see AliHLTComponent for description */
49 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
50 /** interface function, see AliHLTComponent for description */
51 AliHLTComponent* Spawn();
52
53protected:
54
55 // Protected functions to implement AliHLTComponent's interface.
56 // These functions provide initialization as well as the actual processing
57 // capabilities of the component.
58
59 /** interface function, see AliHLTComponent for description */
60 int DoInit( int argc, const char** argv );
61 /** interface function, see AliHLTComponent for description */
62 int DoDeinit();
63 /** interface function, see AliHLTComponent for description */
64 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
65
66 using AliHLTProcessor::DoEvent;
67
68 int Configure(const char* arguments);
69
70private:
71 /** copy constructor prohibited */
72 AliHLTTRDTrackHistoComponent(const AliHLTTRDTrackHistoComponent&);
73 /** assignment operator prohibited */
74 AliHLTTRDTrackHistoComponent& operator=(const AliHLTTRDTrackHistoComponent&);
75 /**
76 * Configure the component.
77 * Parse a string for the configuration arguments and set the component
78 * properties.
79 */
80
81 AliHLTUInt32_t fOutputSize; // output size
2d7cea9e 82 AliHLTUInt32_t fSpec; // accumulated specification
83 TClonesArray* fTracksArray; // input array
ae24e8b7 84
802b480b 85 TH1F *fClPerTrkl; // Number of clusters per tracklet
86 TH1F *fTrklPerTrk; // Number of tracklets per track
1ea1f8e0 87 TH1F *fEvSize; // Event size in kbyte
802b480b 88 TH1F *fEtaDistrib; // Eta distribution
89 TH1F *fPhiDistrib; // Phi distribution
90 TH1F *fPtDistrib; // Pt distribution
ae24e8b7 91
92 ClassDef(AliHLTTRDTrackHistoComponent, 0);
93};
94#endif