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)

Detailed Description

Definition at line 10 of file CandDeadChipHandle.h.


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(), GetAdc(), RawChip::GetChannelId(), GetChipStatus(), RawChip::GetChipStatus(), RawChip::GetErrorCode(), RawChip::GetTdc(), GetTdc(), GetTdc0(), CandDeadChip::kBad, RawChip::kBusy, CandDeadChip::kBusy, CandDeadChip::kCold, RawChip::kCold, CandDeadChip::kError, RawChip::kError, RawChip::kHot, CandDeadChip::kHot, 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 AddRawChip(), 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 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(), 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 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 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(), 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 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(), RawChannelId::GetVmm(), ElecType::kQIE, and ElecType::kVA.

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 22 Nov 2017 for loon by  doxygen 1.6.1