Line data Source code
1 : #ifndef ALIHLTMUONFULLTRACKERCOMPONENT_H
2 : #define ALIHLTMUONFULLTRACKERCOMPONENT_H
3 :
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 */
7 :
8 :
9 : /// \ingroup libAliHLTMUON.so
10 : /// \class AliHLTMUONFullTrackerComponent
11 : /// \brief Component to handle full tracker
12 : ///
13 : // Indranil Das, email : indra.das@saha.ac.in | indra.ehep@gmail.com , Saha Institute of Nuclear Physics
14 :
15 : #include "AliHLTMUONProcessor.h"
16 : #include "AliHLTMUONFullTracker.h"
17 : #include <cassert>
18 :
19 :
20 : class AliHLTMUONFullTrackerComponent : public AliHLTMUONProcessor {
21 : public:
22 : /// Constructor
23 : AliHLTMUONFullTrackerComponent();
24 : /// Destructor
25 : virtual ~AliHLTMUONFullTrackerComponent();
26 :
27 : /// Get the component ID
28 : const char* GetComponentID();
29 : /// Get Output Data Types
30 : void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
31 : /// Get Output Data Types
32 : AliHLTComponentDataType GetOutputDataType();
33 : /// Output Data Types
34 : virtual int GetOutputDataTypes(AliHLTComponentDataTypeList& list);
35 : /// Output Data Sizes
36 : virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
37 : /// Spawn
38 : AliHLTComponent* Spawn();
39 :
40 : protected:
41 : // AliHLTComponent interface functions
42 : int DoInit( int argc, const char** argv );
43 : /// DeInitialisation
44 : int DoDeinit();
45 : /// Process events
46 : int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
47 : AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
48 : AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
49 : /// Reconfigure
50 : int Reconfigure(const char* cdbEntry, const char* chainId);
51 : /// Read preprocessor values
52 : int ReadPreprocessorValues(const char* modules);
53 :
54 : using AliHLTProcessor::DoEvent;
55 :
56 : private:
57 :
58 : // Do not allow copying of this class.
59 : /// Not implemented.
60 : AliHLTMUONFullTrackerComponent(const AliHLTMUONFullTrackerComponent& /*obj*/);
61 : /// Not implemented.
62 : AliHLTMUONFullTrackerComponent& operator = (const AliHLTMUONFullTrackerComponent& /*obj*/);
63 :
64 : /**
65 : * Configure the component.
66 : * Parse a string for the configuration arguments and set the component
67 : * properties.
68 : *
69 : * This function illustrates the scanning of an argument string. The string
70 : * was presumably fetched from the CDB.
71 : */
72 : int Configure(const char* arguments);
73 :
74 : AliHLTMUONFullTracker *fTracker; /// Pointer to the full tracker
75 :
76 6 : ClassDef(AliHLTMUONFullTrackerComponent, 0)
77 : };
78 : #endif
|