Line data Source code
1 : #ifndef ALIHLTMUONCLUSTERHISTOCOMPONENT_H
2 : #define ALIHLTMUONCLUSTERHISTOCOMPONENT_H
3 : //* This file is property of and copyright by the ALICE HLT Project *
4 : //* ALICE Experiment at CERN, All rights reserved. *
5 : //* See cxx source for full Copyright notice *
6 :
7 : /** @file AliHLTMUONClusterHistoComponent.h
8 : @author Arshad Ahmad <Arshad.Ahmad@cern.ch>
9 : @date 27 Nov 2009
10 : @brief Component for ploting charge in clusters
11 : */
12 :
13 : #include "TH1F.h"
14 : #include "AliHLTMUONProcessor.h"
15 : /**
16 : * @class AliHLTMUONClusterHistoComponent
17 : * Component for ploting charge in clusters
18 : *
19 : * Component ID: \b MUONClusterHistogrammer <br>
20 : * Library: \b libAliHLTMUON.so <br>
21 : *
22 : * Mandatory arguments: <br>
23 : *
24 : *
25 : * Optional arguments: <br>
26 : *
27 : *
28 : * @ingroup alihlt_muon_components
29 : */
30 :
31 : class AliHLTMUONClusterHistoComponent : public AliHLTMUONProcessor
32 : {
33 : public:
34 : /** default constructor */
35 : AliHLTMUONClusterHistoComponent();
36 : /** destructor */
37 : virtual ~AliHLTMUONClusterHistoComponent();
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 : int GetOutputDataTypes(AliHLTComponentDataTypeList& list);
49 : /** interface function, see AliHLTComponent for description */
50 : virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
51 : /** interface function, see AliHLTComponent for description */
52 : AliHLTComponent* Spawn();
53 :
54 : private:
55 :
56 : // Protected functions to implement AliHLTComponent's interface.
57 : // These functions provide initialization as well as the actual processing
58 : // capabilities of the component.
59 :
60 : /** interface function, see AliHLTComponent for description */
61 : int DoInit( int argc, const char** argv );
62 : /** interface function, see AliHLTComponent for description */
63 : int DoDeinit();
64 : /** interface function, see AliHLTComponent for description */
65 : /* int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData ); */
66 : int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
67 : AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
68 : AliHLTUInt32_t& size, AliHLTComponentBlockDataList& outputBlocks);
69 :
70 : int Reconfigure(const char* cdbEntry, const char* chainId);
71 :
72 : using AliHLTProcessor::DoEvent;
73 :
74 : /** copy constructor prohibited */
75 : AliHLTMUONClusterHistoComponent(const AliHLTMUONClusterHistoComponent&);
76 : /** assignment operator prohibited */
77 : AliHLTMUONClusterHistoComponent& operator=(const AliHLTMUONClusterHistoComponent&);
78 : /**
79 : * Configure the component.
80 : * Parse a string for the configuration arguments and set the component
81 : * properties.
82 : */
83 : int Configure(const char* arguments);
84 :
85 :
86 : TH1F * fChargePerClusterBending; //! transient
87 : TH1F * fChargePerClusterNonBending; //! transient
88 : TH1F * fNumberOfClusters; //! transient
89 :
90 : Bool_t fPlotChargePerClusterBending; //! transient
91 : Bool_t fPlotChargePerClusterNonBending; //! transient
92 : Bool_t fPlotNClusters; //! transient
93 :
94 6 : ClassDef(AliHLTMUONClusterHistoComponent, 0);
95 :
96 : };
97 : #endif //ALIHLTMUONCLUSTERHISTOCOMPONENT_H
|