00001 #include "DstEvent/DstEmcShower.h" 00002 00003 double DstEmcShower::dx() const 00004 { 00005 double xx=99.; 00006 if(m_errorMatrix[0][0]>0) xx=sqrt(m_errorMatrix[0][0]); 00007 else if(m_errorMatrix[0][0]==0) xx=0.; 00008 return xx; 00009 } 00010 00011 double DstEmcShower::dy() const 00012 { 00013 double yy=99.; 00014 if(m_errorMatrix[1][1]>0) yy=sqrt(m_errorMatrix[1][1]); 00015 else if(m_errorMatrix[1][1]==0) yy=0.; 00016 return yy; 00017 } 00018 00019 double DstEmcShower::dz() const 00020 { 00021 double zz=99.; 00022 if(m_errorMatrix[2][2]>0) zz=sqrt(m_errorMatrix[2][2]); 00023 else if(m_errorMatrix[2][2]==0) zz=0.; 00024 return zz; 00025 } 00026 00027 ostream& operator<<(ostream & os, const DstEmcShower& aShower) 00028 { 00029 os<<"------------------DstEmcShower:"<<endl; 00030 os<<"Track id: "<<aShower.trackId()<<", number of hits: "<<aShower.numHits() 00031 <<", status: "<<aShower.status()<<", cell id: "<<aShower.cellId() 00032 <<", module: "<<aShower.module()<<", time: "<<aShower.time()<<endl; 00033 os<<"Energy: "<<aShower.energy()<<", de: "<<aShower.dE() 00034 <<", eseed: "<<aShower.eSeed() 00035 <<", e3x3: "<<aShower.e3x3()<<", e5x5: "<<aShower.e5x5()<<endl; 00036 os<<"Position: "<<aShower.position() 00037 <<", theta: "<<aShower.theta()<<", phi: "<<aShower.phi() 00038 <<"\ndx: "<<aShower.dx()<<", dy: "<<aShower.dy()<<", dz: "<<aShower.dz() 00039 <<", dtheta: "<<aShower.dtheta()<<", dphi: "<<aShower.dphi()<<endl; 00040 os<<"Second moment: "<<aShower.secondMoment() 00041 <<", lat moment: "<<aShower.latMoment() 00042 <<", a20 moment: "<<aShower.a20Moment() 00043 <<", a42 moment: "<<aShower.a42Moment()<<endl; 00044 os<<"Error matrix: \n"<<aShower.errorMatrix()<<endl; 00045 00046 return os; 00047 }