Back to home page

Project CMSSW displayed by LXR

 
 

    


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 }