]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONLocalStruct.cxx
Optional geometry without CPV
[u/mrichter/AliRoot.git] / MUON / AliMUONLocalStruct.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 "AliMUONLocalStruct.h"
19
20 /// \class AliMUONLocalStruct
21 /// Local structure for trigger raw data.
22 /// The structure includes the information
23 ///  about the x,y position of the 4 detection planes,
24 /// the trigger word (address, local decision, y trigger, y position, x deviation,
25 /// x position)
26 ///
27 /// \author Christian Finck
28
29 /// \cond CLASSIMP
30 ClassImp(AliMUONLocalStruct)
31 /// \endcond
32
33  const Int_t  AliMUONLocalStruct::fgkLength = 5;
34  const Int_t  AliMUONLocalStruct::fgkScalerLength = 45;
35  const UInt_t AliMUONLocalStruct::fgkEndOfLocal   = 0xCAFEFADE;
36  const UInt_t AliMUONLocalStruct::fgkDisableWord  = 0x010CDEAD;
37 //___________________________________________
38 AliMUONLocalStruct::AliMUONLocalStruct()
39   :  TObject(),
40      fL0(0),   
41      fHold(0), 
42      fClk(0),   
43      fLPtNTrig(0), 
44      fHPtNTrig(0), 
45      fLPtRTrig(0), 
46      fHPtRTrig(0), 
47      fLPtLTrig(0), 
48      fHPtLTrig(0), 
49      fLPtSTrig(0), 
50      fHPtSTrig(0), 
51      fEOS(0),         
52      fReset(0)       
53 {
54   ///
55   /// ctor
56   ///
57   for (Int_t i = 0; i < 5; i++)
58     fData[i] = 0;
59
60   for (Int_t i = 0; i < 8*4; i++)
61     fScaler[i] = 0;
62
63
64 }
65
66 //___________________________________________
67 AliMUONLocalStruct::AliMUONLocalStruct(const AliMUONLocalStruct& event)
68   :  TObject(event),
69      fL0(event.fL0),
70      fHold(event.fHold),
71      fClk(event.fClk),
72      fLPtNTrig(event.fLPtNTrig),
73      fHPtNTrig(event.fHPtNTrig),
74      fLPtRTrig(event.fLPtRTrig),
75      fHPtRTrig(event.fHPtRTrig),
76      fLPtLTrig(event.fLPtLTrig),
77      fHPtLTrig(event.fHPtLTrig),
78      fLPtSTrig(event.fLPtSTrig),
79      fHPtSTrig(event.fHPtSTrig),
80      fEOS(event.fEOS),
81      fReset(event.fReset)
82 {
83   ///
84   /// copy ctor
85   ///
86   for (Int_t i = 0; i < 5; i++)
87     fData[i] = event.fData[i];
88
89   for (Int_t i = 0; i < 8*4; i++)
90     fScaler[i] = event.fScaler[i];
91
92
93 }
94 //___________________________________________
95 AliMUONLocalStruct& 
96 AliMUONLocalStruct::operator=(const AliMUONLocalStruct& event)
97 {
98   /// 
99   /// assignment operator
100   ///
101
102   if (this == &event) return *this;
103
104   fL0       = event.fL0;
105   fHold     = event.fHold;
106   fClk      = event.fClk;
107   fLPtNTrig = event.fLPtNTrig;
108   fHPtNTrig = event.fHPtNTrig;
109   fLPtRTrig = event.fLPtRTrig;
110   fHPtRTrig = event.fHPtRTrig;
111   fLPtLTrig = event.fLPtLTrig;
112   fHPtLTrig = event.fHPtLTrig;
113   fLPtSTrig = event.fLPtSTrig;
114   fHPtSTrig = event.fHPtSTrig;
115   fEOS      = event.fEOS;
116   fReset    = event.fReset;
117
118   for (Int_t i = 0; i < 5; i++)
119     fData[i] = event.fData[i];
120
121   for (Int_t i = 0; i < 8*4; i++)
122     fScaler[i] = event.fScaler[i];
123
124   return *this;
125 }
126
127 //___________________________________________
128 void AliMUONLocalStruct::SetScalersNumbers()
129 {
130   /// set numbers for scaler events for local structure
131   /// crasy numbers for scaler words, while no beam is coming
132   ///
133
134   fL0       = 1000;   
135   fHold     = 100; 
136   fClk      = 10000;  
137   fLPtNTrig = 1; 
138   fHPtNTrig = 1; 
139   fLPtRTrig = 2; 
140   fHPtRTrig = 2; 
141   fLPtLTrig = 3; 
142   fHPtLTrig = 3; 
143   fLPtSTrig = 4; 
144   fHPtSTrig = 4; 
145   fEOS      = 0x2AA;         
146   fReset    = 10;     
147
148   for (Int_t i = 0; i < 8*4; i++)
149     fScaler[i] = i;
150
151 }