861602dbdde5bf6b2349459748a8779acaf23140
[u/mrichter/AliRoot.git] / HLT / MUON / src / AliRoot / TriggerRecord.cxx
1 ////////////////////////////////////////////////////////////////////////////////
2 //
3 // Author: Artur Szostak
4 // Email:  artur@alice.phy.uct.ac.za | artursz@iafrica.com
5 //
6 ////////////////////////////////////////////////////////////////////////////////
7
8 #include "AliRoot/TriggerRecord.hpp"
9 #include "TMath.h"
10
11 ClassImp(AliHLTMUONTriggerRecord)
12
13
14 AliHLTMUONTriggerRecord::AliHLTMUONTriggerRecord()
15 {
16         Init();
17 }
18
19
20 AliHLTMUONTriggerRecord::AliHLTMUONTriggerRecord(
21                 Int_t triggernumber, Int_t sign, Float_t pt,
22                 const AliHLTMUONPoint& station1point, const AliHLTMUONPoint& station2point
23         )
24 {
25         if (triggernumber < 0)
26         {
27                 Init();
28                 Error("AliHLTMUONTriggerRecord",
29                         "The trigger number must be a positive number. Got: %d",
30                         triggernumber
31                 );
32         }
33         else if (sign < -1 || +1 < sign)
34         {
35                 Init();
36                 Error("AliHLTMUONTriggerRecord",
37                         "The particle sign must a value of -1, 0 or +1. Got: %d",
38                         sign
39                 );
40         }
41         else if (pt < 0.0)
42         {
43                 Init();
44                 Error("AliHLTMUONTriggerRecord",
45                         "The transverse momentum must be a positive number. Got: %f",
46                         pt
47                 );
48         }
49         else
50         {
51                 fTriggerNumber = triggernumber;
52                 fParticleSign = sign;
53                 fPt = pt;
54                 fSt1Point = station1point;
55                 fSt2Point = station2point;
56         }
57 }
58
59
60 void AliHLTMUONTriggerRecord::Init()
61 {
62         fTriggerNumber = -1;
63         fParticleSign = 0;
64         fPt = 0.0;
65 }
66
67
68 void AliHLTMUONTriggerRecord::TriggerNumber(Int_t value)
69 {
70         if (value >= 0)
71                 fTriggerNumber = value;
72         else
73                 Error("TriggerNumber",
74                         "The trigger number must be a positive number. Got: %d",
75                         value
76                 );
77 }
78
79
80 void AliHLTMUONTriggerRecord::ParticleSign(Int_t value)
81 {
82         if (-1 <= value && value <= +1)
83                 fParticleSign = value;
84         else
85                 Error("ParticleSign",
86                         "The particle sign must a value of -1, 0 or +1. Got: %d",
87                         value
88                 );
89 }
90
91
92 void AliHLTMUONTriggerRecord::Pt(Float_t value)
93 {
94         if (value >= 0)
95                 fPt = value;
96         else
97                 Error("Pt",
98                         "The transverse momentum must be a positive number. Got: %f",
99                         value
100                 );
101 }
102
103
104 ostream& operator << (ostream& os, const AliHLTMUONTriggerRecord& r)
105 {
106         os << "{trig#: " << r.fTriggerNumber << ", sign: " << r.fParticleSign
107            << ", pt: " << r.fPt << ", st1: " << r.fSt1Point << ", st2: "
108            << r.fSt2Point << "}";
109         return os;
110 }
111