CMS 3D CMS Logo

HcalTBEventPosition.cc

Go to the documentation of this file.
00001 #include "TBDataFormats/HcalTBObjects/interface/HcalTBEventPosition.h"
00002 
00003 using namespace std;
00004 
00005   HcalTBEventPosition::HcalTBEventPosition() :
00006     hfTableX_(-1e24),
00007     hfTableY_(-1e24),
00008     hfTableV_(-1e24),
00009     hbheTableEta_(-1000),
00010     hbheTablePhi_(-1000),
00011     ax_(),
00012     ay_(),
00013     bx_(),
00014     by_(),
00015     cx_(),
00016     cy_(),
00017     dx_(),
00018     dy_(),
00019     ex_(),
00020     ey_(),
00021     fx_(),
00022     fy_(),
00023     gx_(),
00024     gy_(),
00025     hx_(),
00026     hy_() {
00027   }
00028 
00029   void HcalTBEventPosition::getChamberHits ( char chamberch,
00030                                              vector<double>& xvec,
00031                                              vector<double>& yvec ) const {
00032     switch (chamberch) {
00033     case 'A': xvec = ax_; yvec = ay_; break;
00034     case 'B': xvec = bx_; yvec = by_; break;
00035     case 'C': xvec = cx_; yvec = cy_; break;
00036     case 'D': xvec = dx_; yvec = dy_; break;
00037     case 'E': xvec = ex_; yvec = ey_; break;
00038     case 'F': xvec = fx_; yvec = fy_; break;
00039     case 'G': xvec = gx_; yvec = gy_; break;
00040     case 'H': xvec = hx_; yvec = hy_; break;
00041     default:
00042       cerr << "Unrecognized chamber character " << chamberch << endl;
00043       return;
00044     }
00045   }
00046 
00047   void HcalTBEventPosition::setChamberHits ( char chamberch,
00048                                              const vector<double>& xvec,
00049                                              const vector<double>& yvec ) {
00050     switch (chamberch) {
00051     case 'A': ax_ = xvec; ay_ = yvec; break;
00052     case 'B': bx_ = xvec; by_ = yvec; break;
00053     case 'C': cx_ = xvec; cy_ = yvec; break;
00054     case 'D': dx_ = xvec; dy_ = yvec; break;
00055     case 'E': ex_ = xvec; ey_ = yvec; break;
00056     case 'F': fx_ = xvec; fy_ = yvec; break;
00057     case 'G': gx_ = xvec; gy_ = yvec; break;
00058     case 'H': hx_ = xvec; hy_ = yvec; break;
00059     default:
00060       cerr << "Unrecognized chamber character " << chamberch << endl;
00061       return;
00062     }
00063   }
00064 
00065   void HcalTBEventPosition::setHFtableCoords( double x, double y, double v ) {
00066     hfTableX_ = x;
00067     hfTableY_ = y;
00068     hfTableV_ = v;
00069   }
00070 
00071   void HcalTBEventPosition::setHBHEtableCoords( double eta, double phi ) {
00072     hbheTableEta_ = eta;
00073     hbheTablePhi_ = phi;
00074   }
00075 
00076   ostream& operator<<(ostream& s, const HcalTBEventPosition& htbep) {
00077     char str[180];
00078 
00079     snprintf (str,180, "HF Table (X,Y,V) = (%f,%f,%f)\n",
00080              htbep.hfTableX(),htbep.hfTableY(),htbep.hfTableV());
00081     s << str;
00082 
00083     snprintf (str, 180, "HB/HE Table (eta,phi) = (%f,%f)\n",
00084              htbep.hbheTableEta(),htbep.hbheTablePhi());
00085     s << str;
00086 
00087     vector<double> xvec, yvec;
00088     vector<double>::const_iterator j;
00089 
00090     htbep.getChamberHits('A', xvec, yvec);
00091 
00092     s << "WC Ax: ";
00093     for (j=xvec.begin(); j!=xvec.end(); j++) {
00094       if (j!=xvec.begin()) s << ", ";
00095       s << *j;
00096     }
00097     s << endl;
00098 
00099     s << "WC Ay: ";
00100     for (j=yvec.begin(); j!=yvec.end(); j++) {
00101       if (j!=yvec.begin()) s << ", ";
00102       s << *j;
00103     }
00104     s << endl;
00105 
00106     htbep.getChamberHits('B', xvec, yvec);
00107 
00108     s << "WC Bx: ";
00109     for (j=xvec.begin(); j!=xvec.end(); j++) {
00110       if (j!=xvec.begin()) s << ", ";
00111       s << *j;
00112     }
00113     s << endl;
00114 
00115     s << "WC By: ";
00116     for (j=yvec.begin(); j!=yvec.end(); j++) {
00117       if (j!=yvec.begin()) s << ", ";
00118       s << *j;
00119     }
00120     s << endl;
00121 
00122     htbep.getChamberHits('C', xvec, yvec);
00123 
00124     s << "WC Cx: ";
00125     for (j=xvec.begin(); j!=xvec.end(); j++) {
00126       if (j!=xvec.begin()) s << ", ";
00127       s << *j;
00128     }
00129     s << endl;
00130 
00131     s << "WC Cy: ";
00132     for (j=yvec.begin(); j!=yvec.end(); j++) {
00133       if (j!=yvec.begin()) s << ", ";
00134       s << *j;
00135     }
00136     s << endl;
00137 
00138     htbep.getChamberHits('D', xvec, yvec);
00139 
00140     s << "WC Dx: ";
00141     for (j=xvec.begin(); j!=xvec.end(); j++) {
00142       if (j!=xvec.begin()) s << ", ";
00143       s << *j;
00144     }
00145     s << endl;
00146 
00147     s << "WC Dy: ";
00148     for (j=yvec.begin(); j!=yvec.end(); j++) {
00149       if (j!=yvec.begin()) s << ", ";
00150       s << *j;
00151     }
00152     s << endl;
00153 
00154     htbep.getChamberHits('E', xvec, yvec);
00155 
00156     s << "WC Ex: ";
00157     for (j=xvec.begin(); j!=xvec.end(); j++) {
00158       if (j!=xvec.begin()) s << ", ";
00159       s << *j;
00160     }
00161     s << endl;
00162 
00163     s << "WC Ey: ";
00164     for (j=yvec.begin(); j!=yvec.end(); j++) {
00165       if (j!=yvec.begin()) s << ", ";
00166       s << *j;
00167     }
00168     s << endl;
00169 
00170     htbep.getChamberHits('F', xvec, yvec);
00171 
00172     s << "WC Fx: ";
00173     for (j=xvec.begin(); j!=xvec.end(); j++) {
00174       if (j!=xvec.begin()) s << ", ";
00175       s << *j;
00176     }
00177     s << endl;
00178 
00179     s << "WC Fy: ";
00180     for (j=yvec.begin(); j!=yvec.end(); j++) {
00181       if (j!=yvec.begin()) s << ", ";
00182       s << *j;
00183     }
00184     s << endl;
00185 
00186     htbep.getChamberHits('G', xvec, yvec);
00187 
00188     s << "WC Gx: ";
00189     for (j=xvec.begin(); j!=xvec.end(); j++) {
00190       if (j!=xvec.begin()) s << ", ";
00191       s << *j;
00192     }
00193     s << endl;
00194 
00195     s << "WC Gy: ";
00196     for (j=yvec.begin(); j!=yvec.end(); j++) {
00197       if (j!=yvec.begin()) s << ", ";
00198       s << *j;
00199     }
00200     s << endl;
00201 
00202     htbep.getChamberHits('H', xvec, yvec);
00203 
00204     s << "WC Hx: ";
00205     for (j=xvec.begin(); j!=xvec.end(); j++) {
00206       if (j!=xvec.begin()) s << ", ";
00207       s << *j;
00208     }
00209     s << endl;
00210 
00211     s << "WC Hy: ";
00212     for (j=yvec.begin(); j!=yvec.end(); j++) {
00213       if (j!=yvec.begin()) s << ", ";
00214       s << *j;
00215     }
00216     s << endl;
00217 
00218     return s;
00219   }

Generated on Tue Jun 9 17:48:05 2009 for CMSSW by  doxygen 1.5.4