4 #ifndef ALIHLTTRDCLUSTERHISTOCOMPONENT_H
5 #define ALIHLTTRDCLUSTERHISTOCOMPONENT_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 *
11 #include "AliHLTProcessor.h"
15 * @class AliHLTTRDClusterHistoComponent
16 * Component for ploting charge in clusters
18 * Component ID: \b TRDClusterHisto <br>
19 * Library: \b libAliHLTTRD.
21 * Mandatory arguments: <br>
24 * Optional arguments: <br>
27 * @ingroup alihlt_tpc_components
30 class AliHLTTRDClusterHistoComponent : public AliHLTProcessor
33 /** default constructor */
34 AliHLTTRDClusterHistoComponent();
36 virtual ~AliHLTTRDClusterHistoComponent();
38 // Public functions to implement AliHLTComponent's interface.
39 // These functions are required for the registration process
41 /** interface function, see AliHLTComponent for description */
42 const char* GetComponentID();
43 /** interface function, see AliHLTComponent for description */
44 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
45 /** interface function, see AliHLTComponent for description */
46 AliHLTComponentDataType GetOutputDataType();
47 /** interface function, see AliHLTComponent for description */
48 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
49 /** interface function, see AliHLTComponent for description */
50 AliHLTComponent* Spawn();
54 // Protected functions to implement AliHLTComponent's interface.
55 // These functions provide initialization as well as the actual processing
56 // capabilities of the component.
58 /** interface function, see AliHLTComponent for description */
59 int DoInit( int argc, const char** argv );
60 /** interface function, see AliHLTComponent for description */
62 /** interface function, see AliHLTComponent for description */
63 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
65 using AliHLTProcessor::DoEvent;
67 int Configure(const char* arguments);
70 /** copy constructor prohibited */
71 AliHLTTRDClusterHistoComponent(const AliHLTTRDClusterHistoComponent&);
72 /** assignment operator prohibited */
73 AliHLTTRDClusterHistoComponent& operator=(const AliHLTTRDClusterHistoComponent&);
75 * Configure the component.
76 * Parse a string for the configuration arguments and set the component
80 AliHLTUInt32_t fOutputSize; // output size
81 AliHLTUInt32_t fSpec; // accumulated specification
82 TClonesArray* fClusterArray; // input array
84 TH1F *fNClsDet; // distribution of detectors
85 TH1F *fClsAmp; // distribution of charge
86 TH1F *fClsAmpDrift; // distribution of charge in drift region
87 TH1F *fClsTB; // distribution of time bins
89 TH1F *fClsAmpDriftDet[540];
95 TH1F *fEvSize; // Event size in kbyte
97 ClassDef(AliHLTTRDClusterHistoComponent, 0);