]>
Commit | Line | Data |
---|---|---|
6efe69e7 | 1 | #ifndef AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_H |
2 | #define AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_H | |
b39b98c8 | 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 */ | |
6efe69e7 | 6 | |
7 | /* $Id$ */ | |
8 | ||
b39b98c8 | 9 | /** |
10 | * @file AliHLTMUONTriggerReconstructorComponent.h | |
11 | * @author Indranil Das <indra.das@saha.ac.in>, Artur Szostak <artursz@iafrica.com> | |
12 | * @date | |
13 | * @brief A processing component for the dHLT trigger DDL reconstruction. | |
14 | */ | |
6efe69e7 | 15 | |
16 | #include "AliHLTProcessor.h" | |
b39b98c8 | 17 | #include "AliHLTMUONDataTypes.h" |
6efe69e7 | 18 | |
960d54ad | 19 | #if __GNUC__ < 3 |
20 | #define std | |
21 | #endif | |
6efe69e7 | 22 | |
b39b98c8 | 23 | class AliHLTMUONTriggerReconstructor; |
24 | ||
6efe69e7 | 25 | /** |
26 | * @class AliHLTMUONTriggerReconstructorComponent | |
b39b98c8 | 27 | * @brief A processing component for the dHLT trigger DDL reconstruction. |
6efe69e7 | 28 | */ |
29 | class AliHLTMUONTriggerReconstructorComponent : public AliHLTProcessor | |
227e7192 | 30 | { |
31 | public: | |
6efe69e7 | 32 | AliHLTMUONTriggerReconstructorComponent(); |
33 | virtual ~AliHLTMUONTriggerReconstructorComponent(); | |
34 | ||
35 | // Public functions to implement AliHLTComponent's interface. | |
36 | // These functions are required for the registration process | |
37 | ||
38 | const char* GetComponentID(); | |
960d54ad | 39 | void GetInputDataTypes( std::vector<AliHLTComponentDataType>& list); |
6efe69e7 | 40 | AliHLTComponentDataType GetOutputDataType(); |
960d54ad | 41 | virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); |
6efe69e7 | 42 | AliHLTComponent* Spawn(); |
227e7192 | 43 | |
44 | protected: | |
45 | ||
6efe69e7 | 46 | // Protected functions to implement AliHLTComponent's interface. |
47 | // These functions provide initialization as well as the actual processing | |
b39b98c8 | 48 | // capabilities of the component. |
49 | ||
50 | virtual int DoInit(int argc, const char** argv); | |
51 | virtual int DoDeinit(); | |
6efe69e7 | 52 | |
b39b98c8 | 53 | virtual int DoEvent( |
960d54ad | 54 | const AliHLTComponentEventData& evtData, |
b39b98c8 | 55 | const AliHLTComponentBlockData* blocks, |
960d54ad | 56 | AliHLTComponentTriggerData& trigData, |
b39b98c8 | 57 | AliHLTUInt8_t* outputPtr, |
960d54ad | 58 | AliHLTUInt32_t& size, |
59 | std::vector<AliHLTComponentBlockData>& outputBlocks | |
60 | ); | |
227e7192 | 61 | |
62 | private: | |
63 | ||
b39b98c8 | 64 | bool ReadLookUpTable(const char* lutpath); |
65 | ||
66 | AliHLTMUONTriggerReconstructor* fTrigRec; // The trigger reconstructor class implementing the algorithm. | |
67 | AliHLTInt32_t fDDL; // The DDL number in the range 20..21 from which to expect input. | |
5d1682b9 | 68 | bool fWarnForUnexpecedBlock; // Flag indicating if we should log a warning if we got a block of an unexpected type. |
80590aa1 | 69 | bool fSuppressPartialTrigs; // Flag indicating if we should suppress triggers that did not trigger the L0 |
6efe69e7 | 70 | |
71 | ClassDef(AliHLTMUONTriggerReconstructorComponent, 0) | |
72 | ||
227e7192 | 73 | }; |
b39b98c8 | 74 | |
6efe69e7 | 75 | #endif // AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_H |