00001 #include "MessageService/MsgService.h"
00002 #include "JobControl/JobCModuleRegistry.h"
00003 #include "Algorithm/AlgHandle.h"
00004 #include "CandShowerAtNu.h"
00005 #include "CandShowerAtNuHandle.h"
00006
00007
00008
00009
00010
00011 ClassImp(CandShowerAtNu)
00012
00013 CVSID("$ Id: CandShowerAtNu.cxx,v 1.0 2002/00/00 00:00:00 blake Exp $");
00014
00015 CandShowerAtNu::CandShowerAtNu() :
00016 fMinPlane(-1), fMaxPlane(-1),
00017 fNPlanes(0), fNStrips(0), fVtxR(0.0),
00018 fDirTimeScore(0.0), fDirVtxShwScore(0.0),
00019 fDirCosErrU(0.0), fDirCosErrV(0.0),
00020 fVtxShw(0), fReseedFlag(0)
00021 {
00022 MSG("CandShowerAtNu", Msg::kDebug) << " " << endl;
00023 }
00024
00025 CandShowerAtNu::CandShowerAtNu(AlgHandle &ah) :
00026 CandShower(ah),
00027 fMinPlane(-1), fMaxPlane(-1),
00028 fNPlanes(0), fNStrips(0), fVtxR(0.0),
00029 fDirTimeScore(0.0), fDirVtxShwScore(0.0),
00030 fDirCosErrU(0.0), fDirCosErrV(0.0),
00031 fVtxShw(0), fReseedFlag(0)
00032 {
00033
00034 }
00035
00036 CandShowerAtNu::CandShowerAtNu(AlgHandle &ah, CandHandle &ch, CandContext &cx) :
00037 CandShower(ah),
00038 fMinPlane(-1), fMaxPlane(-1),
00039 fNPlanes(0), fNStrips(0), fVtxR(0.0),
00040 fDirTimeScore(0.0), fDirVtxShwScore(0.0),
00041 fDirCosErrU(0.0), fDirCosErrV(0.0),
00042 fVtxShw(0), fReseedFlag(0)
00043 {
00044 SetLocalHandle(new CandShowerAtNuHandle(this));
00045 { CandShowerAtNuHandle cth(this); ch = cth; }
00046 ah.RunAlg(ch, cx);
00047 }
00048
00049 CandShowerAtNu::CandShowerAtNu(const CandShowerAtNu &rhs) :
00050 CandShower(rhs),
00051 fMinPlane(rhs.fMinPlane), fMaxPlane(rhs.fMaxPlane),
00052 fNPlanes(rhs.fNPlanes), fNStrips(rhs.fNStrips), fVtxR(rhs.fVtxR),
00053 fDirTimeScore(rhs.fDirTimeScore), fDirVtxShwScore(rhs.fDirVtxShwScore),
00054 fDirCosErrU(rhs.fDirCosErrU), fDirCosErrV(rhs.fDirCosErrV),
00055 fVtxShw(rhs.fVtxShw), fReseedFlag(rhs.fReseedFlag)
00056 {
00057
00058 }
00059
00060 CandShowerAtNu::~CandShowerAtNu()
00061 {
00062
00063 }
00064
00065 CandShowerAtNu *CandShowerAtNu::Dup() const
00066 {
00067 CandShowerAtNu *cb = new CandShowerAtNu(*this);
00068 cb->CreateLocalHandle();
00069 TIter iterdau = GetDaughterIterator();
00070 CandHandle *dau;
00071 while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00072 return cb;
00073 }
00074
00075 void CandShowerAtNu::CreateLocalHandle()
00076 {
00077 this->SetLocalHandle(new CandShowerAtNuHandle(this));
00078 }
00079
00080 CandShowerAtNuHandle CandShowerAtNu::MakeCandidate(AlgHandle &ah, CandContext &cx)
00081 {
00082 CandShowerAtNuHandle csh;
00083 new CandShowerAtNu(ah, csh, cx);
00084 return csh;
00085 }