00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00017
00018
00019 #include "ShieldPlank/CandShieldPlank.h"
00020 #include "ShieldPlank/CandShieldPlankHandle.h"
00021 #include "Algorithm/AlgHandle.h"
00022 #include "MessageService/MsgService.h"
00023
00024 CVSID("$Id: CandShieldPlank.cxx,v 1.1 2004/02/12 17:35:17 caius Exp $");
00025
00026 CandShieldPlank::CandShieldPlank ():
00027 fNErrors(0),
00028 fSection(-1),
00029 fSubSection(-1),
00030 fMeanX(-999.),
00031 fMeanY(-999.0)
00032 {
00033 for(unsigned int i=0; i<3; ++i)
00034 {
00035 fMeanZ[i] = -999.;
00036 fMeanTime[i] = -999.;
00037 fMeanCorrectedTime[i] = -999.;
00038 fChargePE[i] = -999.;
00039 }
00040 }
00041
00042 CandShieldPlank::CandShieldPlank(AlgHandle& ah) :
00043 CandBase(ah)
00044 {
00045 }
00046
00047 CandShieldPlank::CandShieldPlank(AlgHandle& ah, CandHandle& ch, CandContext& cx) :
00048 CandBase(ah)
00049 {
00050 this->CreateLocalHandle();
00051 {
00052 CandShieldPlankHandle a_handle(this);
00053 ch = a_handle;
00054 }
00055 ah.RunAlg(ch,cx);
00056 }
00057
00058 CandShieldPlank::CandShieldPlank(const CandShieldPlank& rhs) :
00059 CandBase(rhs)
00060 {
00061 }
00062
00063 CandShieldPlank::~CandShieldPlank()
00064 {
00065 }
00066
00067 void CandShieldPlank::CreateLocalHandle()
00068 {
00069 this->SetLocalHandle(new CandShieldPlankHandle(this));
00070 }
00071
00072 CandShieldPlank* CandShieldPlank::Dup() const
00073 {
00074 CandShieldPlank* newone = new CandShieldPlank(*this);
00075 newone->CreateLocalHandle();
00076 TIter iter = this->GetDaughterIterator();
00077 CandHandle* ch;
00078 while ((ch=(CandHandle*)iter())) newone->AddDaughterLink(*ch);
00079 return newone;
00080 }
00081
00082 CandShieldPlankHandle CandShieldPlank::MakeCandidate(AlgHandle& ah, CandContext& cx)
00083 {
00084 CandShieldPlankHandle a_handle;
00085 new CandShieldPlank(ah,a_handle,cx);
00086 return a_handle;
00087 }
00088
00089
00090 ClassImp(CandShieldPlank)
00091