]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/MUON/OnlineAnalysis/AliHLTMUONTriggerReconstructorComponent.h
Splitting of the QA maker into simulation and reconstruction dependent parts (Yves)
[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
6253e09b 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
e29a165d 19#if __GNUC__ && __GNUC__ < 3
960d54ad 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
6253e09b 38 virtual const char* GetComponentID();
39 virtual void GetInputDataTypes( std::vector<AliHLTComponentDataType>& list);
40 virtual AliHLTComponentDataType GetOutputDataType();
960d54ad 41 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
6253e09b 42 virtual 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 );
6253e09b 61
62 using AliHLTProcessor::DoEvent;
227e7192 63
64private:
65
6253e09b 66 // Do not allow copying of this class.
67 AliHLTMUONTriggerReconstructorComponent(const AliHLTMUONTriggerReconstructorComponent& /*obj*/);
68 AliHLTMUONTriggerReconstructorComponent& operator = (const AliHLTMUONTriggerReconstructorComponent& /*obj*/);
69
b39b98c8 70 bool ReadLookUpTable(const char* lutpath);
71
72 AliHLTMUONTriggerReconstructor* fTrigRec; // The trigger reconstructor class implementing the algorithm.
73 AliHLTInt32_t fDDL; // The DDL number in the range 20..21 from which to expect input.
5d1682b9 74 bool fWarnForUnexpecedBlock; // Flag indicating if we should log a warning if we got a block of an unexpected type.
80590aa1 75 bool fSuppressPartialTrigs; // Flag indicating if we should suppress triggers that did not trigger the L0
6efe69e7 76
77 ClassDef(AliHLTMUONTriggerReconstructorComponent, 0)
78
227e7192 79};
b39b98c8 80
6efe69e7 81#endif // AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_H