]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/MUON/OnlineAnalysis/AliHLTMUONHitReconstructorComponent.h
Adding Solaris with CC
[u/mrichter/AliRoot.git] / HLT / MUON / OnlineAnalysis / AliHLTMUONHitReconstructorComponent.h
CommitLineData
b0201cbe 1#ifndef ALIHLTMUONHITRECONSTRUCTORCOMPONENT_H
960d54ad 2#define ALIHLTMUONHITREONSTRUCTORCCOMPONENT_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 **************************************************************************/
b0201cbe 18
19/* $Id$ */
20
baff881d 21///* @file AliHLTMUONHitReconstructorComponent.h
22// * @author Indranil Das <indra.das@saha.ac.in> | <indra.ehep@gmail.com>
23// * @date
24// * @brief Hit Reconstruction processing component for the dimuon HLT.
25// */
b0201cbe 26
27#include "AliHLTProcessor.h"
960d54ad 28#include <TString.h>
baff881d 29#include "AliHLTMUONHitReconstructor.h"
b0201cbe 30
960d54ad 31#if __GNUC__ < 3
32#define std
33#endif
34
35
36class AliHLTMUONHitReconstructorComponent : public AliHLTProcessor
37{
38 public:
39 AliHLTMUONHitReconstructorComponent();
40 virtual ~AliHLTMUONHitReconstructorComponent();
41
42 // Public functions to implement AliHLTComponent's interface.
43 // These functions are required for the registration process
44
45 const char* GetComponentID();
46 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
47 AliHLTComponentDataType GetOutputDataType();
48 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
49 AliHLTComponent* Spawn();
50
51 protected:
52
53 // Protected functions to implement AliHLTComponent's interface.
54 // These functions provide initialization as well as the actual processing
55 // capabilities of the component.
56
57 int DoInit(int argc, const char** argv);
58 int DoDeinit();
59 int DoEvent(
60 const AliHLTComponentEventData& evtData,
61 const AliHLTComponentBlockData* blocks,
62 AliHLTComponentTriggerData& trigData,
63 AliHLTUInt8_t* outputPtr,
64 AliHLTUInt32_t& size,
65 std::vector<AliHLTComponentBlockData>& outputBlocks
66 );
67
68 private:
69
70 AliHLTMUONHitReconstructor* fHitRec;
71 bool ReadLookUpTable(AliHLTMUONHitReconstructor::DHLTLut* lookupTable, const char* lutpath);
72 bool ReadBusPatchToDetElemFile(BusToDetElem& busToDetElem, BusToDDL& busToDDL, const char* buspatchmappath);
73
74 TString fDDLDir;
75 Int_t fDDL;
76 bool fReaderType;
29486e5a 77 bool fWarnForUnexpecedBlock; // Flag indicating if we should log a warning if we got a block of an unexpected type.
960d54ad 78
79 ClassDef(AliHLTMUONHitReconstructorComponent, 0)
b0201cbe 80};
81
82#endif // ALIHLTMUONHITRECONSTRUCTORCOMPONENT_H