00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #include "StGlobalTrack.h"
00039 #include "StVertex.h"
00040 #include "StDcaGeometry.h"
00041
00042 ClassImp(StGlobalTrack)
00043
00044 static const char rcsid[] = "$Id: StGlobalTrack.cxx,v 2.7 2012/05/07 14:42:57 fisyak Exp $";
00045 StGlobalTrack::StGlobalTrack(const StGlobalTrack& track) : StTrack(track)
00046 {
00047 mDcaGeometry=0;
00048 if (track.mDcaGeometry) mDcaGeometry = new StDcaGeometry(*(track.mDcaGeometry));
00049 }
00050
00051 StGlobalTrack& StGlobalTrack::operator=(const StGlobalTrack& track)
00052 {
00053 if (this != &track) {
00054 delete mDcaGeometry; mDcaGeometry=0;
00055 static_cast<StTrack&>(*this) = track;
00056 if (track.mDcaGeometry) mDcaGeometry = new StDcaGeometry(*(track.mDcaGeometry));
00057 }
00058 return *this;
00059 }
00060
00061 ostream& operator<<(ostream& os, const StGlobalTrack& track) {
00062 const StDcaGeometry* dca = track.dcaGeometry();
00063 os << Form("%4i global %4i",track.key(),track.flag());
00064 if (dca) os << *dca;
00065 Double_t length = track.length();
00066 if (length > 9999.) length = 9999.;
00067 os << Form(" NP %2d NF %2d L %8.3f chi2 %8.3f", track.numberOfPossiblePoints(),track.fitTraits().numberOfFitPoints(),
00068 length,track.fitTraits().chi2(0));
00069 if (track.idTruth())
00070 os << Form(" IdT: %4i Q: %4i", track.idTruth(), track.qaTruth());
00071 return os;
00072 }
00073