Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CandDeadChipHandle Class Reference

#include <CandDeadChipHandle.h>

Inheritance diagram for CandDeadChipHandle:

CandHandle List of all members.

Public Member Functions

 CandDeadChipHandle ()
 CandDeadChipHandle (const CandDeadChipHandle &rhs)
 CandDeadChipHandle (CandDeadChip *candidate)
virtual ~CandDeadChipHandle ()
virtual CandDeadChipHandleDupHandle () const
Int_t GetEntries () const
RawChannelId GetChannelId () const
Int_t GetAdc () const
Int_t GetTdc () const
Int_t GetTdc0 () const
Int_t GetErrorCode () const
Int_t GetTriggerRate () const
CandDeadChip::ChipStatus_t GetChipStatus () const
void SetChannelId (RawChannelId rawch)
void SetAdc (Int_t adc)
void SetTdc (Int_t tdc)
void SetTdc0 (Int_t tdc0)
void SetErrorCode (Int_t errcode)
void SetTriggerRate (Int_t trigrate)
void SetChipStatus (CandDeadChip::ChipStatus_t status)
Bool_t IsSameChip (RawChannelId rawch) const
void AddRawChip (RawChip *chip)

Private Member Functions

void AddEntry ()
 ClassDef (CandDeadChipHandle, 1)

Constructor & Destructor Documentation

CandDeadChipHandle::CandDeadChipHandle  ) 
 

Definition at line 6 of file CandDeadChipHandle.cxx.

Referenced by DupHandle().

00007 {
00008 
00009 }

CandDeadChipHandle::CandDeadChipHandle const CandDeadChipHandle rhs  ) 
 

Definition at line 11 of file CandDeadChipHandle.cxx.

00011                                                                     :
00012   CandHandle(cdh)
00013 {
00014 
00015 }
CandDeadChipHandle::CandDeadChipHandle(CandDeadChip* cd) :

CandDeadChipHandle::CandDeadChipHandle CandDeadChip candidate  ) 
 

Definition at line 16 of file CandDeadChipHandle.cxx.

00016                                                        :
00017   CandHandle(cd)
00018 {
00019 
00020 }

CandDeadChipHandle::~CandDeadChipHandle  )  [virtual]
 

Definition at line 22 of file CandDeadChipHandle.cxx.

00023 {
00024 
00025 }


Member Function Documentation

void CandDeadChipHandle::AddEntry  )  [private]
 

Definition at line 182 of file CandDeadChipHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AddRawChip().

00183 {
00184   dynamic_cast<CandDeadChip*>(GetOwnedCandBase())->fEntries++;
00185 }

void CandDeadChipHandle::AddRawChip RawChip chip  ) 
 

Definition at line 129 of file CandDeadChipHandle.cxx.

References AddEntry(), RawChip::GetAdc(), RawChip::GetChannelId(), RawChip::GetChipStatus(), GetChipStatus(), RawChip::GetErrorCode(), GetTdc(), RawChip::GetTdc(), GetTdc0(), SetAdc(), SetChannelId(), SetChipStatus(), SetErrorCode(), SetTdc(), SetTdc0(), and SetTriggerRate().

Referenced by AlgDeadChip::RunAlg().

00130 {
00131   
00132   // Set the TDC, ADC and Channel ID
00133   // (choose the chip with the latest time)
00134   Int_t newadc=chip->GetAdc();
00135   Int_t newtdc=chip->GetTdc();
00136   if(this->GetTdc()<0 || chip->GetTdc()>=this->GetTdc()){
00137     this->SetChannelId(chip->GetChannelId());
00138     if( chip->GetTdc()==this->GetTdc() ) this->SetAdc(this->GetAdc()+newadc);
00139     if( chip->GetTdc()>this->GetTdc() ) this->SetAdc(newadc);
00140     this->SetTdc(newtdc);
00141   }
00142 
00143   // Record TDC0 (the earliest TDC value)
00144   if(this->GetTdc0()<0 || chip->GetTdc()<this->GetTdc0()){
00145     this->SetTdc0(newtdc);
00146   }
00147 
00148   // Set the chip status
00149   // (set status bits and also any error codes or trigger rates)
00150   CandDeadChip::ChipStatus_t mystatus = this->GetChipStatus();
00151   RawChip::ChipStatus_t newstatus = chip->GetChipStatus();
00152 
00153   if(newstatus==RawChip::kCold){ 
00154     mystatus=(CandDeadChip::ChipStatus_t)(mystatus|CandDeadChip::kBad);
00155     mystatus=(CandDeadChip::ChipStatus_t)(mystatus|CandDeadChip::kCold);
00156     this->SetTriggerRate(chip->GetErrorCode());
00157   }
00158 
00159   if(newstatus==RawChip::kHot){ 
00160     mystatus=(CandDeadChip::ChipStatus_t)(mystatus|CandDeadChip::kBad);
00161     mystatus=(CandDeadChip::ChipStatus_t)(mystatus|CandDeadChip::kHot);
00162     this->SetTriggerRate(chip->GetErrorCode());
00163   }
00164 
00165   if(newstatus==RawChip::kBusy){ 
00166     mystatus=(CandDeadChip::ChipStatus_t)(mystatus|CandDeadChip::kBad);
00167     mystatus=(CandDeadChip::ChipStatus_t)(mystatus|CandDeadChip::kBusy);
00168     
00169   }
00170 
00171   if(newstatus==RawChip::kError){ 
00172     mystatus=(CandDeadChip::ChipStatus_t)(mystatus|CandDeadChip::kBad);
00173     mystatus=(CandDeadChip::ChipStatus_t)(mystatus|CandDeadChip::kError);
00174     this->SetErrorCode(chip->GetErrorCode());
00175   }
00176   
00177   this->SetChipStatus(mystatus);
00178   this->AddEntry();
00179   
00180 }

CandDeadChipHandle::ClassDef CandDeadChipHandle  ,
[private]
 

CandDeadChipHandle * CandDeadChipHandle::DupHandle  )  const [virtual]
 

Reimplemented from CandHandle.

Definition at line 27 of file CandDeadChipHandle.cxx.

References CandDeadChipHandle().

00028 {
00029   return new CandDeadChipHandle(*this);
00030 }

Int_t CandDeadChipHandle::GetAdc  )  const
 

Definition at line 42 of file CandDeadChipHandle.cxx.

References CandHandle::GetCandBase().

Referenced by DataQualityReader::Ana(), and AlgDeadChip::RunAlg().

00043 {
00044   return dynamic_cast<const CandDeadChip*>(GetCandBase())->fAdc;
00045 }

RawChannelId CandDeadChipHandle::GetChannelId  )  const
 

Definition at line 37 of file CandDeadChipHandle.cxx.

References CandHandle::GetCandBase().

Referenced by DataQualityReader::Ana(), NtpMaker::FillDataQualityInfo(), NtpSRModule::FillNtpDataQuality(), IsSameChip(), and AlgDeadChip::RunAlg().

00038 {
00039   return dynamic_cast<const CandDeadChip*>(GetCandBase())->fRawChannelId;
00040 }

CandDeadChip::ChipStatus_t CandDeadChipHandle::GetChipStatus  )  const
 

Definition at line 67 of file CandDeadChipHandle.cxx.

References CandHandle::GetCandBase().

Referenced by AddRawChip(), DataQualityReader::Ana(), NtpMaker::FillDataQualityInfo(), NtpSRModule::FillNtpDataQuality(), CandDataQualityHandle::GetBusyChips(), CandDataQualityHandle::GetChipStatus(), CandDataQualityHandle::GetColdChips(), CandDataQualityHandle::GetHotChips(), CandDataQualityHandle::GetReadoutErrors(), and AlgDeadChip::RunAlg().

00068 {
00069   return dynamic_cast<const CandDeadChip*>(GetCandBase())->fStatus;
00070 }

Int_t CandDeadChipHandle::GetEntries  )  const
 

Definition at line 32 of file CandDeadChipHandle.cxx.

References CandHandle::GetCandBase().

Referenced by DataQualityReader::Ana(), and AlgDeadChip::RunAlg().

00033 {
00034   return dynamic_cast<const CandDeadChip*>(GetCandBase())->fEntries;
00035 }

Int_t CandDeadChipHandle::GetErrorCode  )  const
 

Definition at line 57 of file CandDeadChipHandle.cxx.

References CandHandle::GetCandBase().

Referenced by DataQualityReader::Ana(), NtpMaker::FillDataQualityInfo(), NtpSRModule::FillNtpDataQuality(), and AlgDeadChip::RunAlg().

00058 {
00059   return dynamic_cast<const CandDeadChip*>(GetCandBase())->fErrorCode;
00060 }

Int_t CandDeadChipHandle::GetTdc  )  const
 

Definition at line 47 of file CandDeadChipHandle.cxx.

References CandHandle::GetCandBase().

Referenced by AddRawChip(), DataQualityReader::Ana(), and AlgDeadChip::RunAlg().

00048 {
00049   return dynamic_cast<const CandDeadChip*>(GetCandBase())->fTdc;
00050 }

Int_t CandDeadChipHandle::GetTdc0  )  const
 

Definition at line 52 of file CandDeadChipHandle.cxx.

References CandHandle::GetCandBase().

Referenced by AddRawChip().

00053 {
00054   return dynamic_cast<const CandDeadChip*>(GetCandBase())->fTdc0;
00055 }

Int_t CandDeadChipHandle::GetTriggerRate  )  const
 

Definition at line 62 of file CandDeadChipHandle.cxx.

References CandHandle::GetCandBase().

Referenced by DataQualityReader::Ana(), and AlgDeadChip::RunAlg().

00063 {
00064   return dynamic_cast<const CandDeadChip*>(GetCandBase())->fTriggerRate;
00065 }

Bool_t CandDeadChipHandle::IsSameChip RawChannelId  rawch  )  const
 

Definition at line 107 of file CandDeadChipHandle.cxx.

References GetChannelId(), RawChannelId::GetCrate(), RawChannelId::GetElecType(), RawChannelId::GetMaster(), RawChannelId::GetMenu(), RawChannelId::GetMinder(), RawChannelId::GetVaAdcSel(), RawChannelId::GetVaChip(), RawChannelId::GetVarcId(), and RawChannelId::GetVmm().

Referenced by CandDataQualityHandle::GetChipStatus().

00108 {
00109   Bool_t issamechip=0;
00110 
00111   RawChannelId myrawch = this->GetChannelId();
00112 
00113   if( myrawch.GetElecType()==ElecType::kVA && rawch.GetElecType()==ElecType::kVA
00114    && myrawch.GetCrate()==rawch.GetCrate()
00115    && myrawch.GetVarcId()==rawch.GetVarcId()
00116    && myrawch.GetVmm()==rawch.GetVmm()
00117    && myrawch.GetVaAdcSel()==rawch.GetVaAdcSel()
00118    && myrawch.GetVaChip()==rawch.GetVaChip() ) issamechip=1;
00119 
00120   if( myrawch.GetElecType()==ElecType::kQIE && rawch.GetElecType()==ElecType::kQIE
00121    && myrawch.GetCrate()==rawch.GetCrate()
00122    && myrawch.GetMaster()==rawch.GetMaster()
00123    && myrawch.GetMinder()==rawch.GetMinder()
00124    && myrawch.GetMenu()==rawch.GetMenu() ) issamechip=1;
00125 
00126   return issamechip;
00127 }

void CandDeadChipHandle::SetAdc Int_t  adc  ) 
 

Definition at line 77 of file CandDeadChipHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AddRawChip().

00078 {
00079   dynamic_cast<CandDeadChip*>(GetOwnedCandBase())->fAdc=adc;
00080 }

void CandDeadChipHandle::SetChannelId RawChannelId  rawch  ) 
 

Definition at line 72 of file CandDeadChipHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AddRawChip().

00073 {
00074   dynamic_cast<CandDeadChip*>(GetOwnedCandBase())->fRawChannelId=rawch;
00075 }

void CandDeadChipHandle::SetChipStatus CandDeadChip::ChipStatus_t  status  ) 
 

Definition at line 102 of file CandDeadChipHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AddRawChip().

00103 {
00104   dynamic_cast<CandDeadChip*>(GetOwnedCandBase())->fStatus=status;
00105 }

void CandDeadChipHandle::SetErrorCode Int_t  errcode  ) 
 

Definition at line 92 of file CandDeadChipHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AddRawChip().

00093 {
00094   dynamic_cast<CandDeadChip*>(GetOwnedCandBase())->fErrorCode=errcode;
00095 }

void CandDeadChipHandle::SetTdc Int_t  tdc  ) 
 

Definition at line 82 of file CandDeadChipHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AddRawChip().

00083 {
00084   dynamic_cast<CandDeadChip*>(GetOwnedCandBase())->fTdc=tdc;
00085 }

void CandDeadChipHandle::SetTdc0 Int_t  tdc0  ) 
 

Definition at line 87 of file CandDeadChipHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AddRawChip().

00088 {
00089   dynamic_cast<CandDeadChip*>(GetOwnedCandBase())->fTdc0=tdc0;
00090 }

void CandDeadChipHandle::SetTriggerRate Int_t  trigrate  ) 
 

Definition at line 97 of file CandDeadChipHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AddRawChip().

00098 {
00099   dynamic_cast<CandDeadChip*>(GetOwnedCandBase())->fTriggerRate=trigrate;
00100 }


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:08:53 2010 for loon by  doxygen 1.3.9.1