The trigger reconstructor component now generates the correct data format.
[u/mrichter/AliRoot.git] / HLT / MUON / OnlineAnalysis / AliHLTMUONTriggerReconstructorComponent.h
CommitLineData
6efe69e7 1#ifndef AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_H
2#define AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_H
3/**************************************************************************
4 * This file is property of and copyright by the ALICE HLT Project *
5 * All rights reserved. *
6 * *
7 * Primary Authors: *
8 * Indranil Das <indra.das@saha.ac.in> *
9 * *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
18
19/* $Id$ */
20
21/** @file AliHLTMUONTriggerReconstructorComponent.h
22 @author Timm Steinbeck, Matthias Richter
23 @date
960d54ad 24 @brief A processing component for the dHLT trigger DDL reconstruction. */
6efe69e7 25
26
27#include "AliHLTProcessor.h"
6efe69e7 28#include "AliHLTMUONTriggerReconstructor.h"
960d54ad 29#include "AliHLTMUONHitReconstructor.h"
6efe69e7 30
960d54ad 31#if __GNUC__ < 3
32#define std
33#endif
6efe69e7 34
35/**
36 * @class AliHLTMUONTriggerReconstructorComponent
37 * @brief A dummy HLT processing component.
38 *
39 * An implementiation of a dummy component that just copies its input data
40 * as a test, demonstration, and example of the HLT component scheme.
41 * @ingroup alihlt_tutorial
42 */
43class AliHLTMUONTriggerReconstructorComponent : public AliHLTProcessor
227e7192 44{
45public:
6efe69e7 46 AliHLTMUONTriggerReconstructorComponent();
47 virtual ~AliHLTMUONTriggerReconstructorComponent();
48
49 // Public functions to implement AliHLTComponent's interface.
50 // These functions are required for the registration process
51
52 const char* GetComponentID();
960d54ad 53 void GetInputDataTypes( std::vector<AliHLTComponentDataType>& list);
6efe69e7 54 AliHLTComponentDataType GetOutputDataType();
960d54ad 55 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
6efe69e7 56 AliHLTComponent* Spawn();
227e7192 57
58protected:
59
6efe69e7 60 // Protected functions to implement AliHLTComponent's interface.
61 // These functions provide initialization as well as the actual processing
62 // capabilities of the component.
63
960d54ad 64 int DoInit(int argc, const char** argv);
6efe69e7 65 int DoDeinit();
227e7192 66
960d54ad 67 int DoEvent(
68 const AliHLTComponentEventData& evtData,
69 const AliHLTComponentBlockData* blocks,
70 AliHLTComponentTriggerData& trigData,
71 AliHLTUInt8_t* outputPtr,
72 AliHLTUInt32_t& size,
73 std::vector<AliHLTComponentBlockData>& outputBlocks
74 );
227e7192 75
76private:
77
6efe69e7 78 AliHLTMUONTriggerReconstructor* fTrigRec;
960d54ad 79
6efe69e7 80 bool ReadLookUpTable(AliHLTMUONHitReconstructor::DHLTLut* lookupTable, const char* lutpath);
960d54ad 81 bool ReadRegToLocMap(AliHLTMUONTriggerReconstructor::RegToLoc* regToLoc,const char* reglocFileName);
6efe69e7 82
83 TString fDDLDir;
84 Int_t fDDL;
85
86 ClassDef(AliHLTMUONTriggerReconstructorComponent, 0)
87
227e7192 88};
960d54ad 89
6efe69e7 90#endif // AliHLTMUONTRIGGERRECONSTRUCTORCOMPONENT_H