1 #ifndef ALIHLTMUONHITRECONSTRUCTORCOMPONENT_H
2 #define ALIHLTMUONHITRECONSTRUCTORCOMPONENT_H
3 /**************************************************************************
4 * This file is property of and copyright by the ALICE HLT Project *
5 * All rights reserved. *
8 * Indranil Das <indra.das@saha.ac.in> *
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 **************************************************************************/
22 /// @file AliHLTMUONHitReconstructorComponent.h
23 /// @author Indranil Das <indra.das@saha.ac.in> | <indra.ehep@gmail.com>
25 /// @brief Hit Reconstruction processing component for the dimuon HLT.
28 #include "AliHLTProcessor.h"
30 #include "AliHLTMUONHitReconstructor.h"
32 #if __GNUC__ && __GNUC__ < 3
37 class AliHLTMUONHitReconstructorComponent : public AliHLTProcessor
40 AliHLTMUONHitReconstructorComponent();
41 virtual ~AliHLTMUONHitReconstructorComponent();
43 // Public functions to implement AliHLTComponent's interface.
44 // These functions are required for the registration process
46 virtual const char* GetComponentID();
47 virtual void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
48 virtual AliHLTComponentDataType GetOutputDataType();
49 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
50 virtual AliHLTComponent* Spawn();
54 // Protected functions to implement AliHLTComponent's interface.
55 // These functions provide initialization as well as the actual processing
56 // capabilities of the component.
58 virtual int DoInit(int argc, const char** argv);
59 virtual int DoDeinit();
61 const AliHLTComponentEventData& evtData,
62 const AliHLTComponentBlockData* blocks,
63 AliHLTComponentTriggerData& trigData,
64 AliHLTUInt8_t* outputPtr,
66 std::vector<AliHLTComponentBlockData>& outputBlocks
69 using AliHLTProcessor::DoEvent;
73 // Do not allow copying of this class.
74 AliHLTMUONHitReconstructorComponent(const AliHLTMUONHitReconstructorComponent& /*obj*/);
75 AliHLTMUONHitReconstructorComponent& operator = (const AliHLTMUONHitReconstructorComponent& /*obj*/);
77 AliHLTMUONHitReconstructor* fHitRec; // Internal class instance implementing the hit reconstruction algorithm.
78 bool ReadLookUpTable(AliHLTMUONHitReconstructor::DHLTLut* lookupTable, const char* lutpath);
79 bool ReadBusPatchToDetElemFile(BusToDetElem& busToDetElem, BusToDDL& busToDDL, const char* buspatchmappath);
81 TString fDDLDir; //TODO: Deprecated, should be removed.
82 Int_t fDDL; // DDL number in the range [12..19].
83 bool fReaderType; //TODO: Deprecated, should be removed.
84 bool fWarnForUnexpecedBlock; // Flag indicating if we should log a warning if we got a block of an unexpected type.
86 ClassDef(AliHLTMUONHitReconstructorComponent, 0)
89 #endif // ALIHLTMUONHITRECONSTRUCTORCOMPONENT_H