Coding violations in HLT/MUON
[u/mrichter/AliRoot.git] / HLT / MUON / src / AliRoot / Region.cxx
1 ////////////////////////////////////////////////////////////////////////////////
2 //
3 // Author: Artur Szostak
4 // Email:  artur@alice.phy.uct.ac.za | artursz@iafrica.com
5 //
6 ////////////////////////////////////////////////////////////////////////////////
7
8 #include "AliRoot/Region.hpp"
9 #include "AliRoot/Point.hpp"
10 #include <TMath.h>
11 #include "Utils.hpp"
12
13 ClassImp(AliHLTMUONRegion)
14
15
16 AliHLTMUONRegion::AliHLTMUONRegion() : TObject()
17 {
18         fLeft = fRight = fBottom = fTop = 0.0;
19 }
20
21
22 AliHLTMUONRegion::AliHLTMUONRegion(Float_t left, Float_t right, Float_t bottom, Float_t top)
23          : TObject()
24 {
25 // Construct a region of interest from the boundary box defined by the borders
26 // 'left', 'right', 'top' and 'bottom'.
27
28         if (left > right)
29         {
30                 fLeft = fRight = fBottom = fTop = 0.0;
31                 Error("AliHLTMUONRegion", "parameter left (%f) is larger than right (%f).", left, right);
32         }
33         else if (bottom > top)
34         {
35                 fLeft = fRight = fBottom = fTop = 0.0;
36                 Error("AliHLTMUONRegion", "parameter bottom (%f) is larger than top (%f).", bottom, top);
37         }
38         else
39         {
40                 fLeft = left;
41                 fRight = right;
42                 fBottom = bottom;
43                 fTop = top;
44         }
45 }
46
47
48 void AliHLTMUONRegion::Left(Float_t value)
49 {
50 // Set the left border of the ROI.
51
52         if (value > fRight)
53                 Error("Left", "Trying to assign fLeft (%f) larger than fRight (%f).", value, fRight);
54         else
55                 fLeft = value;
56 }
57
58
59 void AliHLTMUONRegion::Right(Float_t value)
60 {
61 // Set the right border of the ROI.
62
63         if (value < fLeft)
64                 Error("Right", "Trying to assign fRight (%f) smaller than fLeft (%f).", value, fLeft);
65         else
66                 fRight = value;
67 }
68
69
70 void AliHLTMUONRegion::Bottom(Float_t value)
71 {
72 // Set the bottom border of the ROI.
73
74         if (value > fTop)
75                 Error("Bottom", "Trying to assign fBottom (%f) larger than fTop (%f).", value, fTop);
76         else
77                 fBottom = value;
78 }
79
80
81 void AliHLTMUONRegion::Top(Float_t value)
82 {
83 // Set the top border of the ROI.
84
85         if (value < fBottom)
86                 Error("Top", "Trying to assign fTop (%f) smaller than fBottom (%f).", value, fBottom);
87         else
88                 fTop = value;
89 }
90
91
92 Bool_t AliHLTMUONRegion::Contains(const AliHLTMUONPoint& p) const
93 {
94 // Checks if the point is within this region. If it is then kTRUE is returned
95 // otherwise kFALSE is returned.
96
97         return 
98           fLeft <= p.fX 
99           && p.fX <= fRight 
100           && fBottom <= p.fY 
101           && p.fY <= fTop;
102 }
103
104
105 ostream& operator << (ostream& os, const AliHLTMUONRegion& r)
106 {
107         os << "[(" << r.fLeft << ", " << r.fRight << "), (" << r.fLeft << ", " << r.fRight << ")]";
108         return os;
109 }
110