]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDClusterHistoComponent.h
added new function to extract DDL id from HLT origin and specification, code cleanup
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDClusterHistoComponent.h
CommitLineData
93ce7d1b 1//-*- Mode: C++ -*-
2// $Id$
3
c1a93a7b 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 *
9
10
11#include "AliHLTProcessor.h"
1298a070 12#include "TH1F.h"
c1a93a7b 13
14/**
1298a070 15 * @class AliHLTTRDClusterHistoComponent
c1a93a7b 16 * Component for ploting charge in clusters
17 *
1298a070 18 * Component ID: \b TRDClusterHisto <br>
c1a93a7b 19 * Library: \b libAliHLTTRD.
20 *
21 * Mandatory arguments: <br>
22 *
23 *
24 * Optional arguments: <br>
25 *
26 *
27 * @ingroup alihlt_tpc_components
28 */
df3ef345 29class TClonesArray;
c1a93a7b 30class AliHLTTRDClusterHistoComponent : public AliHLTProcessor
31{
32public:
33 /** default constructor */
34 AliHLTTRDClusterHistoComponent();
35 /** destructor */
36 virtual ~AliHLTTRDClusterHistoComponent();
37
38 // Public functions to implement AliHLTComponent's interface.
39 // These functions are required for the registration process
40
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();
51
52protected:
53
54 // Protected functions to implement AliHLTComponent's interface.
55 // These functions provide initialization as well as the actual processing
56 // capabilities of the component.
57
58 /** interface function, see AliHLTComponent for description */
59 int DoInit( int argc, const char** argv );
60 /** interface function, see AliHLTComponent for description */
61 int DoDeinit();
62 /** interface function, see AliHLTComponent for description */
93ce7d1b 63 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
c1a93a7b 64
c1a93a7b 65 using AliHLTProcessor::DoEvent;
93ce7d1b 66
67 int Configure(const char* arguments);
c1a93a7b 68
69private:
70 /** copy constructor prohibited */
71 AliHLTTRDClusterHistoComponent(const AliHLTTRDClusterHistoComponent&);
72 /** assignment operator prohibited */
73 AliHLTTRDClusterHistoComponent& operator=(const AliHLTTRDClusterHistoComponent&);
74 /**
75 * Configure the component.
76 * Parse a string for the configuration arguments and set the component
77 * properties.
78 */
c1a93a7b 79
93ce7d1b 80 AliHLTUInt32_t fOutputSize; // output size
2d7cea9e 81 AliHLTUInt32_t fSpec; // accumulated specification
93ce7d1b 82 TClonesArray* fClusterArray; // input array
df3ef345 83
2d7cea9e 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
c1a93a7b 88
1298a070 89 TH1F *fClsAmpDriftDet[540];
90 TH1F *fClsAmpDist;
c1a93a7b 91
1298a070 92 TH1F *fSClsDist;
93 TH1F *fNScls;
93ce7d1b 94
1ea1f8e0 95 TH1F *fEvSize; // Event size in kbyte
96
c1a93a7b 97 ClassDef(AliHLTTRDClusterHistoComponent, 0);
98};
99#endif