Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

SctData::DefectList Class Reference

This class represents all the defects in a module. More...

#include <DefectList.h>

Inheritance diagram for SctData::DefectList:

Inheritance graph
[legend]
Collaboration diagram for SctData::DefectList:

Collaboration graph
[legend]

Public Types

typedef list< DefectDefectCollection

Public Member Functions

 DefectList ()
 Create a new empty ModuleDefects object.

void addDefect (Defect defect)
 Add a defect.

const DefectCollection & getAllDefects () const
 Get all defects in the ModuleDefectList.

virtual string getClassName () const throw ()
 Get the class name for this object.

DefectListoperator+= (const DefectList &)
 Add defects from another list.

Methods enquiring as to defects on ANY PART of a module element
auto_ptr< DefectListgetDefectsAffectingElement (ModuleElement element) const
 Get all the defects affecting a given element.

DefectSeverity defectSeverityAffectingElement (ModuleElement element) const
 Get defect severity.

bool containsDefect (Defect defect) const
 Finds if there is a an identical defect to defect in this list.

Methods enquiring as to defects which affect the WHOLE of an element.
auto_ptr< DefectListgetDefectsEncompassingElement (ModuleElement element) const
 Get all defects who contain the element.

DefectSeverity defectSeverityEncompassingElement (ModuleElement element) const
 Check for severe defects.


Private Attributes

DefectCollection defectList
 All defects.


Detailed Description

This class represents all the defects in a module.

Author:
Matthew Palmer

Definition at line 24 of file DefectList.h.


Constructor & Destructor Documentation

SctData::DefectList::DefectList  ) 
 

Create a new empty ModuleDefects object.

Note:
Nothrow

Definition at line 7 of file DefectList.cpp.

Referenced by getDefectsAffectingElement(), and getDefectsEncompassingElement().


Member Function Documentation

void SctData::DefectList::addDefect Defect  defect  ) 
 

Add a defect.

Neighbouring defects of the same type are merged.

Parameters:
defect The Defect to add
Note:
Nothrow

Definition at line 13 of file DefectList.cpp.

References SctData::ModuleElement::adjacentTo(), SctData::ModuleElement::contains(), defectList, SctData::ModuleElement::getFirst(), SctData::ModuleElement::getLast(), SctData::Defect::getModuleElement(), SctData::Defect::getPrototype(), and SctData::ModuleElement::overlaps().

Referenced by SctAnalysis::StrobeDelayAlgorithm::analyze(), SctAnalysis::PipelineAlgorithm::analyze(), SctFitter::ThresholdFitAlgorithm::checkForDefects(), SctFitter::StrobeDelayFitAlgorithm::checkForDefects(), SctAnalysis::NPtGainAlgorithm::mergeDefects(), operator+=(), and SctData::IO::DefectListStreamer_v1::read().

Here is the call graph for this function:

bool SctData::DefectList::containsDefect Defect  defect  )  const
 

Finds if there is a an identical defect to defect in this list.

Note:
Nothrow

Definition at line 104 of file DefectList.cpp.

References defectList.

Referenced by operator+=().

DefectSeverity SctData::DefectList::defectSeverityAffectingElement ModuleElement  element  )  const
 

Get defect severity.

Returns:
the Severity using NONE if there is no defect
Note:
Nothrow

Definition at line 61 of file DefectList.cpp.

References defectList, SctData::DefectSeverity, and SctData::NONE.

Referenced by SctAnalysis::StrobeDelayAlgorithm::analyze(), and SctAnalysis::NPtGainAlgorithm::setupGraph().

DefectSeverity SctData::DefectList::defectSeverityEncompassingElement ModuleElement  element  )  const
 

Check for severe defects.

Note:
Nothrow

Definition at line 83 of file DefectList.cpp.

References defectList, SctData::DefectSeverity, and SctData::NONE.

Referenced by SctAnalysis::TrimRangeAlgorithm::analyze(), and SctData::TestSummary::NPtGainSummaryWriter::write().

const DefectList::DefectCollection & SctData::DefectList::getAllDefects  )  const
 

Get all defects in the ModuleDefectList.

Returns:
A reference to a list of all defects.
Note:
Nothrow

Definition at line 46 of file DefectList.cpp.

References defectList.

Referenced by SctCalibrationController::ConfigUpdater::maskChannels(), SctDataDisplay::Displayer::printDefectList(), and SctData::IO::DefectListStreamer_v1::write().

string SctData::DefectList::getClassName  )  const throw () [virtual]
 

Get the class name for this object.

This is used to identify the precise type.

Returns:
the class name
Note:
Nothrow

Implements Sct::Streamable.

Definition at line 9 of file DefectList.cpp.

auto_ptr< DefectList > SctData::DefectList::getDefectsAffectingElement ModuleElement  element  )  const
 

Get all the defects affecting a given element.

Parameters:
element The ModuleElement
Returns:
a DefectList
Note:
Nothrow

Definition at line 50 of file DefectList.cpp.

References defectList, and DefectList().

Here is the call graph for this function:

auto_ptr< DefectList > SctData::DefectList::getDefectsEncompassingElement ModuleElement  element  )  const
 

Get all defects who contain the element.

Note:
Nothrow

Definition at line 72 of file DefectList.cpp.

References defectList, and DefectList().

Here is the call graph for this function:

DefectList & SctData::DefectList::operator+= const DefectList  ) 
 

Add defects from another list.

Filters out identical defects.

Note:
Nothrow

Definition at line 94 of file DefectList.cpp.

References addDefect(), containsDefect(), and defectList.

Here is the call graph for this function:


Field Documentation

DefectCollection SctData::DefectList::defectList [private]
 

All defects.

Definition at line 97 of file DefectList.h.

Referenced by addDefect(), containsDefect(), defectSeverityAffectingElement(), defectSeverityEncompassingElement(), getAllDefects(), getDefectsAffectingElement(), getDefectsEncompassingElement(), and operator+=().


The documentation for this class was generated from the following files:
Generated on Thu Jul 15 09:52:36 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5