00001
00002
00003 #include "StProtoJet.h"
00004
00005 using namespace std;
00006
00007 StProtoJet::StProtoJet()
00008 : mPx(0), mPy(0), mPz(0), mE(0)
00009 , _charge(0)
00010 {
00011
00012 }
00013
00014 StProtoJet::StProtoJet(const AbstractFourVec* particle)
00015 : mPx(particle->px()), mPy(particle->py()), mPz(particle->pz()), mE(particle->e())
00016 , _charge(particle->charge())
00017 {
00018 _particleList.push_back(particle);
00019 }
00020
00021 StProtoJet::~StProtoJet()
00022 {
00023 }
00024
00025 void StProtoJet::update()
00026 {
00027 mPx = mPy = mPz = mE = _charge = 0.;
00028
00029 for (FourVecList::const_iterator particle = _particleList.begin(); particle != _particleList.end(); ++particle) {
00030 mPx += (*particle)->px();
00031 mPy += (*particle)->py();
00032 mPz += (*particle)->pz();
00033 mE += (*particle)->e();
00034 _charge += (*particle)->charge();
00035 }
00036 }
00037
00038 void StProtoJet::add(const StProtoJet& protoJet)
00039 {
00040 mPx += protoJet.mPx;
00041 mPy += protoJet.mPy;
00042 mPz += protoJet.mPz;
00043 mE += protoJet.mE;
00044 _charge += protoJet._charge;
00045 for (FourVecList::const_iterator particle = protoJet._particleList.begin(); particle != protoJet._particleList.end(); ++particle) {
00046 _particleList.push_back(*particle);
00047 }
00048 }
00049
00050 void StProtoJet::add(const AbstractFourVec& particle)
00051 {
00052 mPx += particle.px();
00053 mPy += particle.py();
00054 mPz += particle.pz();
00055 mE += particle.e();
00056 _charge += particle.charge();
00057 }
00058
00059 void StProtoJet::merge(const StProtoJet& protoJet)
00060 {
00061 for (FourVecList::const_iterator particle = protoJet._particleList.begin(); particle != protoJet._particleList.end(); ++particle) {
00062 _particleList.push_back(*particle);
00063 mPx += (*particle)->px();
00064 mPy += (*particle)->py();
00065 mPz += (*particle)->pz();
00066 mE += (*particle)->e();
00067 _charge += (*particle)->charge();
00068 }
00069 }
00070
00071 void StProtoJet::clear()
00072 {
00073 _particleList.clear();
00074 mPx = mPy = mPz = mE = _charge = 0;
00075 }