Fixing coding violations and getting rid of warnings.
[u/mrichter/AliRoot.git] / HLT / MUON / OnlineAnalysis / AliHLTMUONHitReconstructorComponent.h
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.                                                   *
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 ///
22 ///  @file   AliHLTMUONHitReconstructorComponent.h
23 ///  @author Indranil Das <indra.das@saha.ac.in> | <indra.ehep@gmail.com>
24 ///  @date   
25 ///  @brief  Hit Reconstruction processing component for the dimuon HLT. 
26 ///
27
28 #include "AliHLTProcessor.h"
29 #include <TString.h>
30 #include "AliHLTMUONHitReconstructor.h"
31
32 #if __GNUC__ && __GNUC__ < 3
33 #define std
34 #endif
35
36
37 class AliHLTMUONHitReconstructorComponent : public AliHLTProcessor
38 {
39     public:
40         AliHLTMUONHitReconstructorComponent();
41         virtual ~AliHLTMUONHitReconstructorComponent();
42
43         // Public functions to implement AliHLTComponent's interface.
44         // These functions are required for the registration process
45
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();
51         
52     protected:
53         
54         // Protected functions to implement AliHLTComponent's interface.
55         // These functions provide initialization as well as the actual processing
56         // capabilities of the component. 
57
58         virtual int DoInit(int argc, const char** argv);
59         virtual int DoDeinit();
60         virtual int DoEvent(
61                         const AliHLTComponentEventData& evtData,
62                         const AliHLTComponentBlockData* blocks,
63                         AliHLTComponentTriggerData& trigData,
64                         AliHLTUInt8_t* outputPtr, 
65                         AliHLTUInt32_t& size,
66                         std::vector<AliHLTComponentBlockData>& outputBlocks
67                 );
68         
69         using AliHLTProcessor::DoEvent;
70         
71     private:
72
73         // Do not allow copying of this class.
74         AliHLTMUONHitReconstructorComponent(const AliHLTMUONHitReconstructorComponent& /*obj*/);
75         AliHLTMUONHitReconstructorComponent& operator = (const AliHLTMUONHitReconstructorComponent& /*obj*/);
76         
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);
80
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.
85
86         ClassDef(AliHLTMUONHitReconstructorComponent, 0)
87 };
88
89 #endif // ALIHLTMUONHITRECONSTRUCTORCOMPONENT_H