1 #ifndef AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_H
2 #define AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_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 */
10 * @file AliHLTMUONTriggerReconstructorComponent.h
11 * @author Indranil Das <indra.das@saha.ac.in>, Artur Szostak <artursz@iafrica.com>
13 * @brief A processing component for the dHLT trigger DDL reconstruction.
16 #include "AliHLTProcessor.h"
17 #include "AliHLTMUONDataTypes.h"
23 class AliHLTMUONTriggerReconstructor;
26 * @class AliHLTMUONTriggerReconstructorComponent
27 * @brief A processing component for the dHLT trigger DDL reconstruction.
29 class AliHLTMUONTriggerReconstructorComponent : public AliHLTProcessor
32 AliHLTMUONTriggerReconstructorComponent();
33 virtual ~AliHLTMUONTriggerReconstructorComponent();
35 // Public functions to implement AliHLTComponent's interface.
36 // These functions are required for the registration process
38 const char* GetComponentID();
39 void GetInputDataTypes( std::vector<AliHLTComponentDataType>& list);
40 AliHLTComponentDataType GetOutputDataType();
41 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
42 AliHLTComponent* Spawn();
46 // Protected functions to implement AliHLTComponent's interface.
47 // These functions provide initialization as well as the actual processing
48 // capabilities of the component.
50 virtual int DoInit(int argc, const char** argv);
51 virtual int DoDeinit();
54 const AliHLTComponentEventData& evtData,
55 const AliHLTComponentBlockData* blocks,
56 AliHLTComponentTriggerData& trigData,
57 AliHLTUInt8_t* outputPtr,
59 std::vector<AliHLTComponentBlockData>& outputBlocks
64 bool ReadLookUpTable(const char* lutpath);
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.
68 bool fWarnForUnexpecedBlock; // Flag indicating if we should log a warning if we got a block of an unexpected type.
69 bool fSuppressPartialTrigs; // Flag indicating if we should suppress triggers that did not trigger the L0
71 ClassDef(AliHLTMUONTriggerReconstructorComponent, 0)
75 #endif // AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_H