]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONLocalTrigger.cxx
Comments for Doxygen (mostly added comments for inline functions)
[u/mrichter/AliRoot.git] / MUON / AliMUONLocalTrigger.cxx
CommitLineData
a9e2aefa 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
30178c30 16/* $Id$ */
a9e2aefa 17
8d7dfec2 18
a9e2aefa 19#include "AliMUONLocalTrigger.h"
2be06f1e 20#include "AliLog.h"
8d7dfec2 21#include "AliMUONLocalStruct.h"
a9e2aefa 22
5398f946 23/// \class AliMUONLocalTrigger
8d7dfec2 24/// Local Trigger algorithm data outputs
5398f946 25/// (contains local trigger decision and bit patterns) \n
26/// Add SetLocalStruct method for rawdata (Ch. Finck)
27/// \author Ph. Crochet
28
29/// \cond CLASSIMP
30ClassImp(AliMUONLocalTrigger)
31/// \endcond
8d7dfec2 32
a9e2aefa 33//----------------------------------------------------------------------
34AliMUONLocalTrigger::AliMUONLocalTrigger()
8d7dfec2 35 : TObject(),
36 fLoCircuit(0),
37 fLoStripX(0),
38 fLoDev(0),
39 fLoStripY(0),
40 fLoLpt(0),
41 fLoHpt(0),
8d7dfec2 42
43 fX1Pattern(0),
44 fX2Pattern(0),
45 fX3Pattern(0),
46 fX4Pattern(0),
47
48 fY1Pattern(0),
49 fY2Pattern(0),
50 fY3Pattern(0),
51 fY4Pattern(0),
52
2f013ecd 53 fLoDecision(0)
a9e2aefa 54{
5398f946 55/// Default constructor
a9e2aefa 56}
e9b63742 57//----------------------------------------------------------------------
30178c30 58AliMUONLocalTrigger::AliMUONLocalTrigger(const AliMUONLocalTrigger& theMUONLocalTrig)
1657f946 59 : TObject(theMUONLocalTrig),
60 fLoCircuit(theMUONLocalTrig.fLoCircuit),
61 fLoStripX(theMUONLocalTrig.fLoStripX),
62 fLoDev(theMUONLocalTrig.fLoDev),
63 fLoStripY(theMUONLocalTrig.fLoStripY),
64 fLoLpt(theMUONLocalTrig.fLoLpt),
65 fLoHpt(theMUONLocalTrig.fLoHpt),
1657f946 66
67 fX1Pattern(theMUONLocalTrig.fX1Pattern),
68 fX2Pattern(theMUONLocalTrig.fX2Pattern),
69 fX3Pattern(theMUONLocalTrig.fX3Pattern),
70 fX4Pattern(theMUONLocalTrig.fX4Pattern),
71
72 fY1Pattern(theMUONLocalTrig.fY1Pattern),
73 fY2Pattern(theMUONLocalTrig.fY2Pattern),
74 fY3Pattern(theMUONLocalTrig.fY3Pattern),
75 fY4Pattern(theMUONLocalTrig.fY4Pattern),
76
2f013ecd 77 fLoDecision(theMUONLocalTrig.fLoDecision)
e9b63742 78{
5398f946 79/// Copy constructor (useful for TClonesArray)
80
e9b63742 81}
71a2d3aa 82
83//----------------------------------------------------------------------
84AliMUONLocalTrigger::~AliMUONLocalTrigger()
85{
86/// Destructor
87}
88
e9b63742 89//----------------------------------------------------------------------
30178c30 90AliMUONLocalTrigger& AliMUONLocalTrigger::operator=(const AliMUONLocalTrigger& theMUONLocalTrig)
e9b63742 91{
5398f946 92/// Assigment operator;
93/// equal operator (useful for non-pointer member in TClonesArray)
8d7dfec2 94
30178c30 95 if (this == &theMUONLocalTrig)
e9b63742 96 return *this;
97
30178c30 98 // base class assignement
99 TObject::operator=(theMUONLocalTrig);
100
101 fLoCircuit = theMUONLocalTrig.fLoCircuit;
102 fLoStripX = theMUONLocalTrig.fLoStripX;
103 fLoDev = theMUONLocalTrig.fLoDev;
104 fLoStripY = theMUONLocalTrig.fLoStripY;
105 fLoLpt = theMUONLocalTrig.fLoLpt;
106 fLoHpt = theMUONLocalTrig.fLoHpt;
e9b63742 107
6dc7fcdf 108 fX1Pattern = theMUONLocalTrig.fX1Pattern;
109 fX2Pattern = theMUONLocalTrig.fX2Pattern;
110 fX3Pattern = theMUONLocalTrig.fX3Pattern;
111 fX4Pattern = theMUONLocalTrig.fX4Pattern;
112
113 fY1Pattern = theMUONLocalTrig.fY1Pattern;
114 fY2Pattern = theMUONLocalTrig.fY2Pattern;
115 fY3Pattern = theMUONLocalTrig.fY3Pattern;
116 fY4Pattern = theMUONLocalTrig.fY4Pattern;
117
118 fLoDecision = theMUONLocalTrig.fLoDecision;
119
e9b63742 120 return *this;
121}
122
1657f946 123
6dc7fcdf 124//----------------------------------------------------------------------
125Char_t AliMUONLocalTrigger::GetLoDecision()
126{
5398f946 127/// Get local decision
128/// from H(L)pt;
129/// returns local trigger decision
8d7dfec2 130
6dc7fcdf 131 fLoDecision = (fLoLpt & 0x3);
132 fLoDecision |= (fLoHpt << 2) & 0xC;
402fb06e 133
6dc7fcdf 134 return fLoDecision;
135}
2be06f1e 136
2be06f1e 137
8d7dfec2 138//----------------------------------------------------------------------
139void AliMUONLocalTrigger::SetLocalStruct(Int_t loCircuit, AliMUONLocalStruct& localStruct)
140{
5398f946 141/// Set local trigger info from rawdata localStruct
8d7dfec2 142
143 // set id'
144 SetLoCircuit(loCircuit);
145
146 // set X, Y dev
147 SetLoStripX((Int_t)localStruct.GetXPos());
148 SetLoStripY((Int_t)localStruct.GetYPos());
149 SetLoDev((Int_t)localStruct.GetXDev());
150
151 // set L(H)pt
152 SetLoLpt(localStruct.GetLpt());
153 SetLoHpt(localStruct.GetHpt());
154
155 // set pattern X
156 SetX1Pattern(localStruct.GetX1());
157 SetX2Pattern(localStruct.GetX2());
158 SetX3Pattern(localStruct.GetX3());
159 SetX4Pattern(localStruct.GetX4());
160
161 // set pattern Y
162 SetY1Pattern(localStruct.GetY1());
163 SetY2Pattern(localStruct.GetY2());
164 SetY3Pattern(localStruct.GetY3());
165 SetY4Pattern(localStruct.GetY4());
166
167}
eba3379e 168
169//----------------------------------------------------------------------
170void AliMUONLocalTrigger::Print(Option_t* opt) const
171{
71a2d3aa 172/// Printing Local Trigger information
173
eba3379e 174 TString sopt(opt);
175 sopt.ToUpper();
176
177 if ( sopt.Contains("FULL") ) {
178
ad705f30 179 printf("<AliMUONLocalTrigger> Circuit %d StripX %d Dev %d StripY %d Lpt %d Hpt %d \n",LoCircuit(),LoStripX(),LoDev(),LoStripY(),LoLpt(),LoHpt());
eba3379e 180
181 }
182}
183