1 #ifndef ALIHLTMUONFULLTRACKERCOMPONENT_H
2 #define ALIHLTMUONFULLTRACKERCOMPONENT_H
4 //* This file is property of and copyright by the ALICE HLT Project *
5 //* ALICE Experiment at CERN, All rights reserved. *
6 //* See cxx source for full Copyright notice */
9 /// \ingroup libAliHLTMUON.so
10 /// \class AliHLTMUONFullTrackerComponent
11 /// \brief Component to handle full tracker
13 // Indranil Das, email : indra.das@saha.ac.in | indra.ehep@gmail.com , Saha Institute of Nuclear Physics
15 #include "AliHLTMUONProcessor.h"
16 #include "AliHLTMUONFullTracker.h"
19 class AliHLTMUONFullTrackerComponent : public AliHLTMUONProcessor {
22 AliHLTMUONFullTrackerComponent();
24 virtual ~AliHLTMUONFullTrackerComponent();
26 /// Get the component ID
27 const char* GetComponentID();
28 /// Get Output Data Types
29 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
30 /// Get Output Data Types
31 AliHLTComponentDataType GetOutputDataType();
33 virtual int GetOutputDataTypes(AliHLTComponentDataTypeList& list);
35 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
37 AliHLTComponent* Spawn();
40 // AliHLTComponent interface functions
41 int DoInit( int argc, const char** argv );
45 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
46 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
47 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
49 int Reconfigure(const char* cdbEntry, const char* chainId);
50 /// Read preprocessor values
51 int ReadPreprocessorValues(const char* modules);
53 using AliHLTProcessor::DoEvent;
57 // Do not allow copying of this class.
59 AliHLTMUONFullTrackerComponent(const AliHLTMUONFullTrackerComponent& /*obj*/);
61 AliHLTMUONFullTrackerComponent& operator = (const AliHLTMUONFullTrackerComponent& /*obj*/);
64 * Configure the component.
65 * Parse a string for the configuration arguments and set the component
68 * This function illustrates the scanning of an argument string. The string
69 * was presumably fetched from the CDB.
71 int Configure(const char* arguments);
72 /// % of output data blocks
73 unsigned fOutputPercentage; // see above
74 /// Pointer to the full tracker
75 AliHLTMUONFullTracker *fTracker;
77 ClassDef(AliHLTMUONFullTrackerComponent, 0)