Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "SimDataFormats/HcalTestBeam/interface/PHcalTB06Info.h"
00017 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 PHcalTB06Info::PHcalTB06Info() {
00033 clear();
00034 }
00035
00036
00037
00038
00039
00040 PHcalTB06Info::~PHcalTB06Info() {
00041 }
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058 void PHcalTB06Info::clear() {
00059 nPrimary = idBeam =0;
00060 eBeam = etaBeam = phiBeam = 0;
00061
00062 simEtot = simEEc = simEHc = 0;
00063
00064 hit = 0;
00065 hits.clear();
00066
00067 v1EvNum = v1Type = v1Nsec = 0;
00068 v1X = v1Y = v1Z = v1U = v1V = v1W = 0;
00069 v1Px = v1Py = v1Pz = 0;
00070 v1Sec.clear();
00071 }
00072
00073 void PHcalTB06Info::setPrimary(int primary, int id, double energy, double etav,
00074 double phiv) {
00075
00076 nPrimary = primary;
00077 idBeam = id;
00078 eBeam = (float)(energy);
00079 etaBeam = (float)(etav);
00080 phiBeam = (float)(phiv);
00081 LogDebug("SimHCalData") << "PHcalTB06Info::setPrimary: nPrimary " << nPrimary
00082 << " partID " << idBeam << " initE " << eBeam
00083 << " eta " << etaBeam << " phi " << phiBeam;
00084 }
00085
00086 void PHcalTB06Info::setEdep(double simtot, double sime, double simh) {
00087
00088 simEtot = (float)simtot;
00089 simEEc = (float)sime;
00090 simEHc = (float)simh;
00091
00092 LogDebug("SimHCalData") << "PHcalTB06Info::setEdep: simEtot " << simEtot
00093 << " simEEc " << simEEc << " simEHc " << simEHc;
00094 }
00095
00096 void PHcalTB06Info::saveHit(unsigned int id, double eta, double phi, double e,
00097 double t) {
00098
00099 int nh = hit;
00100 hit++;
00101 PHcalTB06Info::Hit newHit;
00102 newHit.id = id;
00103 newHit.eta = (float)(eta);
00104 newHit.phi = (float)(phi);
00105 newHit.e = (float)(e);
00106 newHit.t = (float)(t);
00107 hits.push_back(newHit);
00108 LogDebug("SimHCalData") << "PHcalTB06Info::saveHit " << hit << " ID 0x"
00109 << std::hex << hits[nh].id << std::dec << " Eta "
00110 << hits[nh].eta << " Phi " << hits[nh].phi
00111 << " E " << hits[nh].e << " t " << hits[nh].t;
00112 }
00113
00114 void PHcalTB06Info::setVtxPrim(int evNum, int type, double x, double y,
00115 double z, double u, double v, double w,
00116 double px, double py, double pz) {
00117
00118 v1EvNum = evNum;
00119 v1Type = type;
00120 double r= sqrt(x*x+y*y+z*z);
00121 v1X = (float)(x);
00122 v1Y = (float)(y);
00123 v1Z = (float)(z);
00124 v1R = (float)(r);
00125 v1Px = (float)(px);
00126 v1Py = (float)(py);
00127 v1Pz = (float)(pz);
00128 v1U = (float)(u);
00129 v1V = (float)(v);
00130 v1W = (float)(w);
00131 LogDebug("SimHCalData") << "PHcalTB06Info::setVtxPrim: EvNum " << v1EvNum
00132 << " Type " << v1Type << " X/Y/Z/R " << v1X << "/"
00133 << v1Y << "/" << v1Z << "/" << v1R << " Px/Py/Pz "
00134 << v1Px << "/" << v1Py << "/" << v1Pz << " U/V/W "
00135 << v1U << "/" << v1V << "/" << v1W;
00136 }
00137
00138 void PHcalTB06Info::setVtxSec(int id, int pdg, double px, double py, double pz,
00139 double ek) {
00140
00141 int ns = v1Nsec;
00142 v1Nsec++;
00143 PHcalTB06Info::Vtx newVtx;
00144 newVtx.trackID = id;
00145 newVtx.partID = pdg;
00146 newVtx.px = (float)(px);
00147 newVtx.py = (float)(py);
00148 newVtx.pz = (float)(pz);
00149 newVtx.eKin = (float)(ek);
00150 v1Sec.push_back(newVtx);
00151 LogDebug("SimHCalData") << "PHcalTB06Info::setVtxSec " << v1Nsec << " ID "
00152 << v1Sec[ns].trackID << " PDG Code "
00153 << v1Sec[ns].partID << " Px/Py/Pz/Ek "
00154 << v1Sec[ns].px << "/" << v1Sec[ns].py << "/"
00155 << v1Sec[ns].pz << "/" << v1Sec[ns].eKin;
00156 }