]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/MUON/OnlineAnalysis/AliHLTMUONTriggerReconstructorComponent.h
Reimplemented the lookup table. It is now much simpler, smaller and faster to use.
[u/mrichter/AliRoot.git] / HLT / MUON / OnlineAnalysis / AliHLTMUONTriggerReconstructorComponent.h
CommitLineData
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 23class AliHLTMUONTriggerReconstructor;
24
6efe69e7 25/**
26 * @class AliHLTMUONTriggerReconstructorComponent
b39b98c8 27 * @brief A processing component for the dHLT trigger DDL reconstruction.
6efe69e7 28 */
29class AliHLTMUONTriggerReconstructorComponent : public AliHLTProcessor
227e7192 30{
31public:
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
44protected:
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
62private:
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