]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/MUON/src/AliRoot/TriggerRecord.cxx
This commit was generated by cvs2svn to compensate for changes in r11742,
[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(AliMUONHLT::TriggerRecord);
12
13 namespace AliMUONHLT
14 {
15
16 TriggerRecord::TriggerRecord()
17 {
18         Init();
19 };
20
21
22 TriggerRecord::TriggerRecord(
23                 const Int_t triggernumber, const Int_t sign, const Float_t pt,
24                 const Point& station1point, const Point& station2point
25         )
26 {
27         if (triggernumber < 0)
28         {
29                 Init();
30                 Error("TriggerRecord",
31                         "The trigger number must be a positive number. Got: %d",
32                         triggernumber
33                 );
34         }
35         else if (sign < -1 or +1 < sign)
36         {
37                 Init();
38                 Error("TriggerRecord",
39                         "The particle sign must a value of -1, 0 or +1. Got: %d",
40                         sign
41                 );
42         }
43         else if (pt < 0.0)
44         {
45                 Init();
46                 Error("TriggerRecord",
47                         "The transverse momentum must be a positive number. Got: %f",
48                         pt
49                 );
50         }
51         else
52         {
53                 fTriggerNumber = triggernumber;
54                 fParticleSign = sign;
55                 fPt = pt;
56                 fSt1Point = station1point;
57                 fSt2Point = station2point;
58         };
59 };
60
61
62 void TriggerRecord::Init()
63 {
64         fTriggerNumber = -1;
65         fParticleSign = 0;
66         fPt = 0.0;
67 };
68
69
70 void TriggerRecord::TriggerNumber(const Int_t value)
71 {
72         if (value >= 0)
73                 fTriggerNumber = value;
74         else
75                 Error("TriggerNumber",
76                         "The trigger number must be a positive number. Got: %d",
77                         value
78                 );
79 };
80
81
82 void TriggerRecord::ParticleSign(const Int_t value)
83 {
84         if (-1 <= value and value <= +1)
85                 fParticleSign = value;
86         else
87                 Error("ParticleSign",
88                         "The particle sign must a value of -1, 0 or +1. Got: %d",
89                         value
90                 );
91 };
92
93
94 void TriggerRecord::Pt(const Float_t value)
95 {
96         if (value >= 0)
97                 fPt = value;
98         else
99                 Error("Pt",
100                         "The transverse momentum must be a positive number. Got: %f",
101                         value
102                 );
103 };
104
105
106 std::ostream& operator << (std::ostream& os, const TriggerRecord& r)
107 {
108         os << "{trig#: " << r.fTriggerNumber << ", sign: " << r.fParticleSign
109            << ", pt: " << r.fPt << ", st1: " << r.fSt1Point << ", st2: "
110            << r.fSt2Point << "}";
111         return os;
112 };
113
114
115 }; // AliMUONHLT