]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONLocalTrigger.cxx
First PHOS calibration object data (Y.K.)
[u/mrichter/AliRoot.git] / MUON / AliMUONLocalTrigger.cxx
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
16 /* $Id$ */
17
18 #include "AliMUONLocalTrigger.h"
19
20 ClassImp(AliMUONLocalTrigger)
21 //----------------------------------------------------------------------
22 AliMUONLocalTrigger::AliMUONLocalTrigger()
23   : TObject()
24 {
25 // constructor
26   fLoCircuit = 0;
27   fLoStripX  = 0;
28   fLoDev     = 0;
29   fLoStripY  = 0;
30   fLoLpt     = 0;
31   fLoHpt     = 0;
32   fLoApt     = 0;
33
34   fX1Pattern  = 0;
35   fX2Pattern  = 0;
36   fX3Pattern  = 0;
37   fX4Pattern  = 0;
38
39   fY1Pattern  = 0;
40   fY2Pattern  = 0;
41   fY3Pattern  = 0;
42   fY4Pattern  = 0;
43
44   fLoDecision = 0;
45
46 }
47 //----------------------------------------------------------------------
48 AliMUONLocalTrigger::AliMUONLocalTrigger(const AliMUONLocalTrigger& theMUONLocalTrig)
49   : TObject(theMUONLocalTrig)
50 {
51 // copy constructor (useful for TClonesArray)
52   fLoCircuit = theMUONLocalTrig.fLoCircuit;
53   fLoStripX  = theMUONLocalTrig.fLoStripX;         
54   fLoDev     = theMUONLocalTrig.fLoDev;           
55   fLoStripY  = theMUONLocalTrig.fLoStripY;           
56   fLoLpt     = theMUONLocalTrig.fLoLpt;
57   fLoHpt     = theMUONLocalTrig.fLoHpt;
58   fLoApt     = theMUONLocalTrig.fLoApt;
59
60   fX1Pattern  = theMUONLocalTrig.fX1Pattern;
61   fX2Pattern  = theMUONLocalTrig.fX2Pattern;
62   fX3Pattern  = theMUONLocalTrig.fX3Pattern;
63   fX4Pattern  = theMUONLocalTrig.fX4Pattern;
64
65   fY1Pattern  = theMUONLocalTrig.fY1Pattern;
66   fY2Pattern  = theMUONLocalTrig.fY2Pattern;
67   fY3Pattern  = theMUONLocalTrig.fY3Pattern;
68   fY4Pattern  = theMUONLocalTrig.fY4Pattern;
69
70   fLoDecision =  theMUONLocalTrig.fLoDecision;
71 }
72 //----------------------------------------------------------------------
73 AliMUONLocalTrigger& AliMUONLocalTrigger::operator=(const AliMUONLocalTrigger& theMUONLocalTrig)
74 {
75 // equal operator (useful for non-pointer member in TClonesArray)
76   if (this == &theMUONLocalTrig)
77     return *this;
78
79   // base class assignement
80   TObject::operator=(theMUONLocalTrig);
81
82   fLoCircuit = theMUONLocalTrig.fLoCircuit;
83   fLoStripX  = theMUONLocalTrig.fLoStripX;         
84   fLoDev     = theMUONLocalTrig.fLoDev;           
85   fLoStripY  = theMUONLocalTrig.fLoStripY;           
86   fLoLpt     = theMUONLocalTrig.fLoLpt;
87   fLoHpt     = theMUONLocalTrig.fLoHpt;
88   fLoApt     = theMUONLocalTrig.fLoApt;
89
90   fX1Pattern  = theMUONLocalTrig.fX1Pattern;
91   fX2Pattern  = theMUONLocalTrig.fX2Pattern;
92   fX3Pattern  = theMUONLocalTrig.fX3Pattern;
93   fX4Pattern  = theMUONLocalTrig.fX4Pattern;
94
95   fY1Pattern  = theMUONLocalTrig.fY1Pattern;
96   fY2Pattern  = theMUONLocalTrig.fY2Pattern;
97   fY3Pattern  = theMUONLocalTrig.fY3Pattern;
98   fY4Pattern  = theMUONLocalTrig.fY4Pattern;
99
100   fLoDecision =  theMUONLocalTrig.fLoDecision;
101
102   return *this;
103 }
104
105 //----------------------------------------------------------------------
106 AliMUONLocalTrigger::AliMUONLocalTrigger(Int_t* localtr)
107 {
108 // add a local trigger object 
109   fLoCircuit = localtr[0];
110   fLoStripX  = localtr[1];         
111   fLoDev     = localtr[2];           
112   fLoStripY  = localtr[3];           
113   fLoLpt     = localtr[4];
114   fLoHpt     = localtr[5];
115   fLoApt     = localtr[6];
116
117   // keep on with this way
118   fX1Pattern = (UShort_t)localtr[7];
119   fX2Pattern = (UShort_t)localtr[8];
120   fX3Pattern = (UShort_t)localtr[9];
121   fX4Pattern = (UShort_t)localtr[10];
122
123   fY1Pattern = (UShort_t)localtr[11];
124   fY2Pattern = (UShort_t)localtr[12];
125   fY3Pattern = (UShort_t)localtr[13];
126   fY4Pattern = (UShort_t)localtr[14];
127 }
128 //----------------------------------------------------------------------
129 Char_t AliMUONLocalTrigger::GetLoDecision()
130 {
131   fLoDecision  = (fLoLpt & 0x3);
132   fLoDecision |= (fLoHpt << 2) & 0xC;
133
134   return fLoDecision;
135 }