00001
00002 #include "MessageService/MsgService.h"
00003 #include "JobControl/JobCModuleRegistry.h"
00004 #include "Algorithm/AlgHandle.h"
00005 #include "CandDeadChip.h"
00006 #include "CandDeadChipHandle.h"
00007
00008 ClassImp(CandDeadChip)
00009
00010 CandDeadChip::CandDeadChip() :
00011 fEntries(0),
00012 fAdc(0),
00013 fTdc(-1),
00014 fTdc0(-1),
00015 fErrorCode(0),
00016 fTriggerRate(-1),
00017 fStatus(CandDeadChip::kOkay)
00018 {
00019
00020 }
00021
00022 CandDeadChip::CandDeadChip(AlgHandle& ah) :
00023 CandBase(ah),
00024 fEntries(0),
00025 fAdc(0),
00026 fTdc(-1),
00027 fTdc0(-1),
00028 fErrorCode(0),
00029 fTriggerRate(-1),
00030 fStatus(CandDeadChip::kOkay)
00031 {
00032
00033 }
00034
00035 CandDeadChip::CandDeadChip(AlgHandle& ah, CandHandle& ch, CandContext& cx) :
00036 CandBase(ah),
00037 fEntries(0),
00038 fAdc(0),
00039 fTdc(-1),
00040 fTdc0(-1),
00041 fErrorCode(0),
00042 fTriggerRate(-1),
00043 fStatus(CandDeadChip::kOkay)
00044 {
00045 SetLocalHandle(new CandDeadChipHandle(this));
00046 { CandDeadChipHandle cth(this); ch = cth; }
00047 ah.RunAlg(ch, cx);
00048 }
00049
00050 CandDeadChip::CandDeadChip(const CandDeadChip& rhs) :
00051 CandBase(rhs),
00052 fEntries(rhs.fEntries),
00053 fRawChannelId(rhs.fRawChannelId),
00054 fAdc(rhs.fAdc),
00055 fTdc(rhs.fTdc),
00056 fTdc0(rhs.fTdc0),
00057 fErrorCode(rhs.fErrorCode),
00058 fTriggerRate(rhs.fTriggerRate),
00059 fStatus(rhs.fStatus)
00060 {
00061
00062 }
00063
00064 CandDeadChip::~CandDeadChip()
00065 {
00066
00067 }
00068
00069 CandDeadChip* CandDeadChip::Dup() const
00070 {
00071 CandDeadChip *cb = new CandDeadChip(*this);
00072 cb->CreateLocalHandle();
00073 TIter iterdau = GetDaughterIterator();
00074 CandHandle *dau;
00075 while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00076 return cb;
00077 }
00078
00079 void CandDeadChip::CreateLocalHandle()
00080 {
00081 this->SetLocalHandle(new CandDeadChipHandle(this));
00082 }
00083
00084 CandDeadChipHandle CandDeadChip::MakeCandidate(AlgHandle& ah, CandContext& cx)
00085 {
00086 CandDeadChipHandle cdh;
00087 new CandDeadChip(ah,cdh,cx);
00088 return cdh;
00089 }
00090
00091
00092