File indexing completed on 2024-04-06 12:31:12
0001 #include "TBDataFormats/HcalTBObjects/interface/HcalTBEventPosition.h"
0002 #include <cstdio>
0003
0004 using namespace std;
0005
0006 HcalTBEventPosition::HcalTBEventPosition()
0007 : hfTableX_(-1e24),
0008 hfTableY_(-1e24),
0009 hfTableV_(-1e24),
0010 hbheTableEta_(-1000),
0011 hbheTablePhi_(-1000),
0012 ax_(),
0013 ay_(),
0014 bx_(),
0015 by_(),
0016 cx_(),
0017 cy_(),
0018 dx_(),
0019 dy_(),
0020 ex_(),
0021 ey_(),
0022 fx_(),
0023 fy_(),
0024 gx_(),
0025 gy_(),
0026 hx_(),
0027 hy_() {}
0028
0029 void HcalTBEventPosition::getChamberHits(char chamberch, vector<double>& xvec, vector<double>& yvec) const {
0030 switch (chamberch) {
0031 case 'A':
0032 xvec = ax_;
0033 yvec = ay_;
0034 break;
0035 case 'B':
0036 xvec = bx_;
0037 yvec = by_;
0038 break;
0039 case 'C':
0040 xvec = cx_;
0041 yvec = cy_;
0042 break;
0043 case 'D':
0044 xvec = dx_;
0045 yvec = dy_;
0046 break;
0047 case 'E':
0048 xvec = ex_;
0049 yvec = ey_;
0050 break;
0051 case 'F':
0052 xvec = fx_;
0053 yvec = fy_;
0054 break;
0055 case 'G':
0056 xvec = gx_;
0057 yvec = gy_;
0058 break;
0059 case 'H':
0060 xvec = hx_;
0061 yvec = hy_;
0062 break;
0063 default:
0064 cerr << "Unrecognized chamber character " << chamberch << endl;
0065 return;
0066 }
0067 }
0068
0069 void HcalTBEventPosition::setChamberHits(char chamberch, const vector<double>& xvec, const vector<double>& yvec) {
0070 switch (chamberch) {
0071 case 'A':
0072 ax_ = xvec;
0073 ay_ = yvec;
0074 break;
0075 case 'B':
0076 bx_ = xvec;
0077 by_ = yvec;
0078 break;
0079 case 'C':
0080 cx_ = xvec;
0081 cy_ = yvec;
0082 break;
0083 case 'D':
0084 dx_ = xvec;
0085 dy_ = yvec;
0086 break;
0087 case 'E':
0088 ex_ = xvec;
0089 ey_ = yvec;
0090 break;
0091 case 'F':
0092 fx_ = xvec;
0093 fy_ = yvec;
0094 break;
0095 case 'G':
0096 gx_ = xvec;
0097 gy_ = yvec;
0098 break;
0099 case 'H':
0100 hx_ = xvec;
0101 hy_ = yvec;
0102 break;
0103 default:
0104 cerr << "Unrecognized chamber character " << chamberch << endl;
0105 return;
0106 }
0107 }
0108
0109 void HcalTBEventPosition::setHFtableCoords(double x, double y, double v) {
0110 hfTableX_ = x;
0111 hfTableY_ = y;
0112 hfTableV_ = v;
0113 }
0114
0115 void HcalTBEventPosition::setHBHEtableCoords(double eta, double phi) {
0116 hbheTableEta_ = eta;
0117 hbheTablePhi_ = phi;
0118 }
0119
0120 ostream& operator<<(ostream& s, const HcalTBEventPosition& htbep) {
0121 s << "HF Table (X,Y,V) = (" << htbep.hfTableX() << "," << htbep.hfTableY() << "," << htbep.hfTableV() << ")"
0122 << std::endl;
0123 s << "HB/HE Table (eta,phi) = (" << htbep.hbheTableEta() << "," << htbep.hbheTablePhi() << ")" << std::endl;
0124
0125 vector<double> xvec, yvec;
0126 vector<double>::const_iterator j;
0127
0128 htbep.getChamberHits('A', xvec, yvec);
0129
0130 s << "WC Ax: ";
0131 for (j = xvec.begin(); j != xvec.end(); j++) {
0132 if (j != xvec.begin())
0133 s << ", ";
0134 s << *j;
0135 }
0136 s << endl;
0137
0138 s << "WC Ay: ";
0139 for (j = yvec.begin(); j != yvec.end(); j++) {
0140 if (j != yvec.begin())
0141 s << ", ";
0142 s << *j;
0143 }
0144 s << endl;
0145
0146 htbep.getChamberHits('B', xvec, yvec);
0147
0148 s << "WC Bx: ";
0149 for (j = xvec.begin(); j != xvec.end(); j++) {
0150 if (j != xvec.begin())
0151 s << ", ";
0152 s << *j;
0153 }
0154 s << endl;
0155
0156 s << "WC By: ";
0157 for (j = yvec.begin(); j != yvec.end(); j++) {
0158 if (j != yvec.begin())
0159 s << ", ";
0160 s << *j;
0161 }
0162 s << endl;
0163
0164 htbep.getChamberHits('C', xvec, yvec);
0165
0166 s << "WC Cx: ";
0167 for (j = xvec.begin(); j != xvec.end(); j++) {
0168 if (j != xvec.begin())
0169 s << ", ";
0170 s << *j;
0171 }
0172 s << endl;
0173
0174 s << "WC Cy: ";
0175 for (j = yvec.begin(); j != yvec.end(); j++) {
0176 if (j != yvec.begin())
0177 s << ", ";
0178 s << *j;
0179 }
0180 s << endl;
0181
0182 htbep.getChamberHits('D', xvec, yvec);
0183
0184 s << "WC Dx: ";
0185 for (j = xvec.begin(); j != xvec.end(); j++) {
0186 if (j != xvec.begin())
0187 s << ", ";
0188 s << *j;
0189 }
0190 s << endl;
0191
0192 s << "WC Dy: ";
0193 for (j = yvec.begin(); j != yvec.end(); j++) {
0194 if (j != yvec.begin())
0195 s << ", ";
0196 s << *j;
0197 }
0198 s << endl;
0199
0200 htbep.getChamberHits('E', xvec, yvec);
0201
0202 s << "WC Ex: ";
0203 for (j = xvec.begin(); j != xvec.end(); j++) {
0204 if (j != xvec.begin())
0205 s << ", ";
0206 s << *j;
0207 }
0208 s << endl;
0209
0210 s << "WC Ey: ";
0211 for (j = yvec.begin(); j != yvec.end(); j++) {
0212 if (j != yvec.begin())
0213 s << ", ";
0214 s << *j;
0215 }
0216 s << endl;
0217
0218 htbep.getChamberHits('F', xvec, yvec);
0219
0220 s << "WC Fx: ";
0221 for (j = xvec.begin(); j != xvec.end(); j++) {
0222 if (j != xvec.begin())
0223 s << ", ";
0224 s << *j;
0225 }
0226 s << endl;
0227
0228 s << "WC Fy: ";
0229 for (j = yvec.begin(); j != yvec.end(); j++) {
0230 if (j != yvec.begin())
0231 s << ", ";
0232 s << *j;
0233 }
0234 s << endl;
0235
0236 htbep.getChamberHits('G', xvec, yvec);
0237
0238 s << "WC Gx: ";
0239 for (j = xvec.begin(); j != xvec.end(); j++) {
0240 if (j != xvec.begin())
0241 s << ", ";
0242 s << *j;
0243 }
0244 s << endl;
0245
0246 s << "WC Gy: ";
0247 for (j = yvec.begin(); j != yvec.end(); j++) {
0248 if (j != yvec.begin())
0249 s << ", ";
0250 s << *j;
0251 }
0252 s << endl;
0253
0254 htbep.getChamberHits('H', xvec, yvec);
0255
0256 s << "WC Hx: ";
0257 for (j = xvec.begin(); j != xvec.end(); j++) {
0258 if (j != xvec.begin())
0259 s << ", ";
0260 s << *j;
0261 }
0262 s << endl;
0263
0264 s << "WC Hy: ";
0265 for (j = yvec.begin(); j != yvec.end(); j++) {
0266 if (j != yvec.begin())
0267 s << ", ";
0268 s << *j;
0269 }
0270 s << endl;
0271
0272 return s;
0273 }