00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00017
00018
00019 #include "CalDetPID/CandCalDetPID.h"
00020 #include "CalDetPID/CandCalDetPIDHandle.h"
00021 #include "Algorithm/AlgHandle.h"
00022 #include "MessageService/MsgService.h"
00023
00024 CVSID("$Id: CandCalDetPID.cxx,v 1.3 2003/10/17 08:37:30 vahle Exp $");
00025
00026 ClassImp(CandCalDetPID)
00027
00028 CandCalDetPID::CandCalDetPID () : fNoOverlap(kFALSE), fInCERTime(kFALSE),
00029 fPIDType(0), fNoOverlapBits(0),
00030 fInCERTimeBits(0), fOLChi2(0.)
00031 {
00032 MSG("CalDetPID",Msg::kDebug)
00033 << "CandCalDetPID default ctor called" << endl;
00034 }
00035
00036 CandCalDetPID::CandCalDetPID(AlgHandle& ah)
00037 : CandBase(ah), fNoOverlap(kFALSE), fInCERTime(kFALSE),fPIDType(0),
00038 fNoOverlapBits(0), fInCERTimeBits(0), fOLChi2(0.)
00039 {
00040 }
00041
00042 CandCalDetPID::CandCalDetPID(AlgHandle& ah, CandHandle& ch, CandContext& cx)
00043 : CandBase(ah), fNoOverlap(kFALSE), fInCERTime(kFALSE),fPIDType(0),
00044 fNoOverlapBits(0), fInCERTimeBits(0), fOLChi2(0.)
00045
00046 {
00047 this->CreateLocalHandle();
00048 {
00049 CandCalDetPIDHandle a_handle(this);
00050 ch = a_handle;
00051 }
00052 ah.RunAlg(ch,cx);
00053 }
00054
00055 CandCalDetPID::CandCalDetPID(const CandCalDetPID& rhs)
00056 : CandBase(rhs),fNoOverlap(kFALSE), fInCERTime(kFALSE),fPIDType(0),
00057 fNoOverlapBits(0), fInCERTimeBits(0), fOLChi2(0.)
00058 {
00059 }
00060
00061 CandCalDetPID::~CandCalDetPID()
00062 {
00063 }
00064
00065 void CandCalDetPID::CreateLocalHandle()
00066 {
00067 this->SetLocalHandle(new CandCalDetPIDHandle(this));
00068 }
00069
00070 CandCalDetPID* CandCalDetPID::Dup() const
00071 {
00072 CandCalDetPID* newone = new CandCalDetPID(*this);
00073 newone->CreateLocalHandle();
00074 TIter iter = this->GetDaughterIterator();
00075 CandHandle* ch;
00076 while ((ch=(CandHandle*)iter())) newone->AddDaughterLink(*ch);
00077 return newone;
00078 }
00079
00080 CandCalDetPIDHandle CandCalDetPID::MakeCandidate(AlgHandle& ah, CandContext& cx)
00081 {
00082 CandCalDetPIDHandle a_handle;
00083 new CandCalDetPID(ah,a_handle,cx);
00084 return a_handle;
00085 }
00086
00087
00088
00089
00090