Fixing coding violations and getting rid of warnings.
[u/mrichter/AliRoot.git] / HLT / MUON / OnlineAnalysis / AliHLTMUONTriggerReconstructorComponent.h
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                               */
6
7 /* $Id$ */
8
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 ///
15
16 #include "AliHLTProcessor.h"
17 #include "AliHLTMUONDataTypes.h"
18
19 #if __GNUC__ && __GNUC__ < 3
20 #define std
21 #endif
22
23 class AliHLTMUONTriggerReconstructor;
24
25 /**
26  * @class AliHLTMUONTriggerReconstructorComponent
27  * @brief A processing component for the dHLT trigger DDL reconstruction.
28  */
29 class AliHLTMUONTriggerReconstructorComponent : public AliHLTProcessor
30 {
31 public:
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         virtual const char* GetComponentID();
39         virtual void GetInputDataTypes( std::vector<AliHLTComponentDataType>& list);
40         virtual AliHLTComponentDataType GetOutputDataType();
41         virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
42         virtual AliHLTComponent* Spawn();
43
44 protected:
45
46         // Protected functions to implement AliHLTComponent's interface.
47         // These functions provide initialization as well as the actual processing
48         // capabilities of the component.
49         
50         virtual int DoInit(int argc, const char** argv);
51         virtual int DoDeinit();
52
53         virtual int DoEvent(
54                         const AliHLTComponentEventData& evtData,
55                         const AliHLTComponentBlockData* blocks,
56                         AliHLTComponentTriggerData& trigData,
57                         AliHLTUInt8_t* outputPtr,
58                         AliHLTUInt32_t& size,
59                         std::vector<AliHLTComponentBlockData>& outputBlocks
60                 );
61         
62         using AliHLTProcessor::DoEvent;
63
64 private:
65
66         // Do not allow copying of this class.
67         AliHLTMUONTriggerReconstructorComponent(const AliHLTMUONTriggerReconstructorComponent& /*obj*/);
68         AliHLTMUONTriggerReconstructorComponent& operator = (const AliHLTMUONTriggerReconstructorComponent& /*obj*/);
69
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.
74         bool fWarnForUnexpecedBlock;  // Flag indicating if we should log a warning if we got a block of an unexpected type.
75         bool fSuppressPartialTrigs;   // Flag indicating if we should suppress triggers that did not trigger the L0
76
77         ClassDef(AliHLTMUONTriggerReconstructorComponent, 0)
78
79 };
80
81 #endif // AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_H