Line data Source code
1 : /*************************************************************************
2 : * Copyright(c) 1998-2008, 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 : ///////////////////////////////////////////////////////////////////////////////
17 : //
18 : // Class to define the ALICE Trigger Scalers
19 : //
20 : // For each trigger class there are six scalers:
21 : //
22 : // LOCB L0 triggers before any vetos
23 : // LOCA L0 triggers after all vetos
24 : // L1CB L1 triggers before any vetos
25 : // L1CA L1 triggers after all vetos
26 : // L2CB L2 triggers before any vetos
27 : // L2CA L2 triggers after all vetos
28 : // LMCB LM triggers before any vetos
29 : // LMCA LM triggers after all vetos
30 : //
31 : //////////////////////////////////////////////////////////////////////////////
32 :
33 : #include <Riostream.h>
34 :
35 : #include "AliLog.h"
36 : #include "AliTriggerScalersESD.h"
37 :
38 : using std::endl;
39 : using std::cout;
40 172 : ClassImp( AliTriggerScalersESD )
41 :
42 : //_____________________________________________________________________________
43 : AliTriggerScalersESD::AliTriggerScalersESD():
44 0 : TObject(),
45 0 : fClassIndex(0),
46 0 : fLOCB(0),
47 0 : fLOCA(0),
48 0 : fL1CB(0),
49 0 : fL1CA(0),
50 0 : fL2CB(0),
51 0 : fL2CA(0),
52 0 : fLMCB(0),
53 0 : fLMCA(0)
54 0 : {
55 : // Default constructor
56 0 : }
57 :
58 : //_____________________________________________________________________________
59 : AliTriggerScalersESD::AliTriggerScalersESD( UChar_t classIndex, ULong64_t LOCB, ULong64_t LOCA,
60 : ULong64_t L1CB, ULong64_t L1CA, ULong64_t L2CB, ULong64_t L2CA ):
61 0 : TObject(),
62 0 : fClassIndex( classIndex ),
63 0 : fLOCB(LOCB),
64 0 : fLOCA(LOCA),
65 0 : fL1CB(L1CB),
66 0 : fL1CA(L1CA),
67 0 : fL2CB(L2CB),
68 0 : fL2CA(L2CA),
69 0 : fLMCB(0),
70 0 : fLMCA(0)
71 0 : {
72 : // Default constructor for L0,L1,L2 levels
73 0 : }
74 : //_____________________________________________________________________________
75 : AliTriggerScalersESD::AliTriggerScalersESD( UChar_t classIndex, ULong64_t LOCB, ULong64_t LOCA,
76 : ULong64_t L1CB, ULong64_t L1CA, ULong64_t L2CB, ULong64_t L2CA, ULong64_t LMCB, ULong64_t LMCA ):
77 0 : TObject(),
78 0 : fClassIndex( classIndex ),
79 0 : fLOCB(LOCB),
80 0 : fLOCA(LOCA),
81 0 : fL1CB(L1CB),
82 0 : fL1CA(L1CA),
83 0 : fL2CB(L2CB),
84 0 : fL2CA(L2CA),
85 0 : fLMCB(LMCB),
86 0 : fLMCA(LMCA)
87 0 : {
88 : // Constructor for LM,L0,L1,L2 levels
89 0 : }
90 : //_____________________________________________________________________________
91 : AliTriggerScalersESD::AliTriggerScalersESD(UChar_t classIndex,ULong64_t* s64):
92 2 : TObject(),
93 2 : fClassIndex( classIndex ),
94 2 : fLOCB(s64[0]),
95 2 : fLOCA(s64[1]),
96 2 : fL1CB(s64[2]),
97 2 : fL1CA(s64[3]),
98 2 : fL2CB(s64[4]),
99 2 : fL2CA(s64[5]),
100 2 : fLMCB(0),
101 2 : fLMCA(0)
102 10 : {
103 : // Construct from array
104 4 : }
105 : //_____________________________________________________________________________
106 : AliTriggerScalersESD::AliTriggerScalersESD(const AliTriggerScalersESD& scal ):
107 0 : TObject(scal),
108 0 : fClassIndex( scal.fClassIndex ),
109 0 : fLOCB(scal.fLOCB),
110 0 : fLOCA(scal.fLOCA),
111 0 : fL1CB(scal.fL1CB),
112 0 : fL1CA(scal.fL1CA),
113 0 : fL2CB(scal.fL2CB),
114 0 : fL2CA(scal.fL2CA),
115 0 : fLMCB(scal.fLMCB),
116 0 : fLMCA(scal.fLMCA)
117 0 : {
118 : // Copy constructor
119 0 : }
120 : //_____________________________________________________________________________
121 : AliTriggerScalersESD& AliTriggerScalersESD::operator=(const AliTriggerScalersESD& scal)
122 : {
123 0 : if(&scal == this) return *this;
124 0 : ((TObject *)this)->operator=(scal);
125 :
126 0 : fClassIndex = scal.fClassIndex;
127 0 : fLOCB = scal.fLOCB;
128 0 : fLOCA = scal.fLOCA;
129 0 : fL1CB = scal.fL1CB;
130 0 : fL1CA = scal.fL1CA;
131 0 : fL2CB = scal.fL2CB;
132 0 : fL2CA = scal.fL2CA;
133 0 : fLMCB = scal.fLMCB;
134 0 : fLMCA = scal.fLMCA;
135 :
136 0 : return *this;
137 0 : }
138 : //____________________________________________________________________________
139 : void AliTriggerScalersESD::GetAllScalers(ULong64_t *scalers) const
140 : {
141 0 : scalers[0]=fLOCB;
142 0 : scalers[1]=fLOCA;
143 0 : scalers[2]=fL1CB;
144 0 : scalers[3]=fL1CA;
145 0 : scalers[4]=fL2CB;
146 0 : scalers[5]=fL2CA;
147 0 : }
148 : void AliTriggerScalersESD::GetAllScalersM012(ULong64_t *scalers) const
149 : {
150 0 : scalers[2]=fLOCB;
151 0 : scalers[3]=fLOCA;
152 0 : scalers[4]=fL1CB;
153 0 : scalers[5]=fL1CA;
154 0 : scalers[6]=fL2CB;
155 0 : scalers[7]=fL2CA;
156 0 : scalers[0]=fLMCB;
157 0 : scalers[1]=fLMCA;
158 0 : }
159 : //_____________________________________________________________________________
160 : void AliTriggerScalersESD::Print( const Option_t* ) const
161 : {
162 : // Print
163 0 : cout << "Trigger Scalers for Class: " << (Int_t)fClassIndex << endl;
164 0 : cout << " LOCB: " << fLOCB << " LOCA: " << fLOCA; //<< endl;
165 0 : cout << " L1CB: " << fL1CB << " L1CA: " << fL1CA; //<< endl;
166 0 : cout << " L2CB: " << fL2CB << " L2CA: " << fL2CA << endl;
167 0 : cout << " LMCB: " << fLMCB << " LMCA: " << fLMCA << endl;
168 0 : }
|