00001 #include "CandFitTrackAtNu.h"
00002
00003 #include "MessageService/MsgService.h"
00004 #include "JobControl/JobCModuleRegistry.h"
00005 #include "Algorithm/AlgHandle.h"
00006
00007 #include "CandFitTrackAtNuHandle.h"
00008
00009 ClassImp(CandFitTrackAtNu)
00010
00011
00012 CandFitTrackAtNu::CandFitTrackAtNu() :
00013 fChi2Lin(0.0),
00014 fQPmean(0.0), fQPerr(0.0), fQPcorr(0.0), fQPwidth(0.0), fQPplns(0),
00015 fMomentumCurveErr(0.0)
00016 {
00017
00018 }
00019
00020 CandFitTrackAtNu::CandFitTrackAtNu(AlgHandle &ah) :
00021 CandFitTrack(ah),
00022 fChi2Lin(0.0),
00023 fQPmean(0.0), fQPerr(0.0), fQPcorr(0.0), fQPwidth(0.0), fQPplns(0),
00024 fMomentumCurveErr(0.0)
00025 {
00026
00027 }
00028
00029 CandFitTrackAtNu::CandFitTrackAtNu(AlgHandle &ah, CandHandle &ch, CandContext &cx) :
00030 CandFitTrack(ah),
00031 fChi2Lin(0.0),
00032 fQPmean(0.0), fQPerr(0.0), fQPcorr(0.0), fQPwidth(0.0), fQPplns(0),
00033 fMomentumCurveErr(0.0)
00034 {
00035 SetLocalHandle(new CandFitTrackAtNuHandle(this));
00036 { CandFitTrackAtNuHandle cth(this); ch = cth; }
00037 ah.RunAlg(ch, cx);
00038 }
00039
00040 CandFitTrackAtNu::CandFitTrackAtNu(const CandFitTrackAtNu &rhs) :
00041 CandFitTrack(rhs),
00042 fChi2Lin(rhs.fChi2Lin),
00043 fQPmean(rhs.fQPmean), fQPerr(rhs.fQPerr), fQPcorr(rhs.fQPcorr), fQPwidth(rhs.fQPwidth), fQPplns(rhs.fQPplns),
00044 fMomentumCurveErr(rhs.fMomentumCurveErr)
00045 {
00046
00047 }
00048
00049 CandFitTrackAtNu::~CandFitTrackAtNu()
00050 {
00051
00052 }
00053
00054 CandFitTrackAtNu *CandFitTrackAtNu::Dup() const
00055 {
00056 CandFitTrackAtNu *cb = new CandFitTrackAtNu(*this);
00057 cb->CreateLocalHandle();
00058 TIter iterdau = GetDaughterIterator();
00059 CandHandle *dau;
00060 while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00061 return cb;
00062 }
00063
00064 void CandFitTrackAtNu::CreateLocalHandle()
00065 {
00066 this->SetLocalHandle(new CandFitTrackAtNuHandle(this));
00067 }
00068
00069
00070 CandFitTrackAtNuHandle CandFitTrackAtNu::MakeCandidate(AlgHandle &ah, CandContext &cx)
00071 {
00072 CandFitTrackAtNuHandle cth;
00073 new CandFitTrackAtNu(ah, cth, cx);
00074 return cth;
00075 }
00076
00077