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 *
7 /** @file AliHLTMUONClusterHistoComponent.h
8 @author Arshad Ahmad <Arshad.Ahmad@cern.ch>
10 @brief Component for ploting charge in clusters
14 #include "AliHLTMUONProcessor.h"
16 * @class AliHLTMUONClusterHistoComponent
17 * Component for ploting charge in clusters
19 * Component ID: \b MUONClusterHistogrammer <br>
20 * Library: \b libAliHLTMUON.so <br>
22 * Mandatory arguments: <br>
25 * Optional arguments: <br>
28 * @ingroup alihlt_muon_components
31 class AliHLTMUONClusterHistoComponent : public AliHLTMUONProcessor
34 /** default constructor */
35 AliHLTMUONClusterHistoComponent();
37 virtual ~AliHLTMUONClusterHistoComponent();
39 // Public functions to implement AliHLTComponent's interface.
40 // These functions are required for the registration process
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();
56 // Protected functions to implement AliHLTComponent's interface.
57 // These functions provide initialization as well as the actual processing
58 // capabilities of the component.
60 /** interface function, see AliHLTComponent for description */
61 int DoInit( int argc, const char** argv );
62 /** interface function, see AliHLTComponent for description */
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);
70 int Reconfigure(const char* cdbEntry, const char* chainId);
72 using AliHLTProcessor::DoEvent;
74 /** copy constructor prohibited */
75 AliHLTMUONClusterHistoComponent(const AliHLTMUONClusterHistoComponent&);
76 /** assignment operator prohibited */
77 AliHLTMUONClusterHistoComponent& operator=(const AliHLTMUONClusterHistoComponent&);
79 * Configure the component.
80 * Parse a string for the configuration arguments and set the component
83 int Configure(const char* arguments);
86 TH1F * fChargePerClusterBending; //! transient
87 TH1F * fChargePerClusterNonBending; //! transient
88 TH1F * fNumberOfClusters; //! transient
90 Bool_t fPlotChargePerClusterBending; //! transient
91 Bool_t fPlotChargePerClusterNonBending; //! transient
92 Bool_t fPlotNClusters; //! transient
94 ClassDef(AliHLTMUONClusterHistoComponent, 0);
97 #endif //ALIHLTMUONCLUSTERHISTOCOMPONENT_H