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

SctAnalysis::TrimRangeAlgorithm Class Reference

Algorithm considers many trim range scans, possibly over many different ranges, makes fits to graphs, and works out the best trim range to use. More...

#include <TrimRangeAlgorithm.h>

Inheritance diagram for SctAnalysis::TrimRangeAlgorithm:

SctAnalysis::AnalysisAlgorithm

Public Member Functions

virtual void canAddFitScanResult (const string &name) throw (Sct::LogicError, Sct::IoError)
virtual ~TrimRangeAlgorithm () throw ()
 destructor

 TrimRangeAlgorithm (const TestData &testData, const string &moduleName) throw ()
 constructor

virtual boost::shared_ptr<
AnalysisAlgorithm
clone (const TestData &testData, const string &moduleName) const throw ()
 over-ride

bool allowTrimRangeVariation () const throw ()
 allow trim range variation between chips?

bool allowTrimTargetVariation () const throw ()
 allow trim target variation between chips?


Static Public Member Functions

void doTrimDataFit (SctData::TrimRangeTestResult::ChipTrimData &chipData) throw ()
 Fit the graph of data points with a linear fit.

vector< TrimRangecreateRanges (const SctData::TestResult &r) throw ()
 find which trim ranges and points are represented in the data

unsigned nTargets () throw ()
 Number of trim targets to consider.

float firstTarget () throw ()
 First trim target to consider.

float targetStep () throw ()
 Step between trim targets to consider.


Private Member Functions

 TrimRangeAlgorithm ()

Static Private Member Functions

shared_ptr< const SctData::TrimRangeTestResult::ChipTrimgetChipTrim (const SctData::TrimRangeTestResult::ChipTrimData &data, const float target, short unsigned irange) throw ()

Static Private Attributes

bool inMap
 static var to force addition to map

bool s_targetVariation
bool s_rangeVariation

Detailed Description

Algorithm considers many trim range scans, possibly over many different ranges, makes fits to graphs, and works out the best trim range to use.


Input: TrimRangeTest Output: TrimRangeTestResult

Definition at line 14 of file TrimRangeAlgorithm.h.


Constructor & Destructor Documentation

virtual SctAnalysis::TrimRangeAlgorithm::~TrimRangeAlgorithm   throw () [inline, virtual]
 

destructor

Definition at line 25 of file TrimRangeAlgorithm.h.

SctAnalysis::TrimRangeAlgorithm::TrimRangeAlgorithm const TestData   testData,
const string &    moduleName
throw () [inline]
 

constructor

Definition at line 29 of file TrimRangeAlgorithm.h.

SctAnalysis::TrimRangeAlgorithm::TrimRangeAlgorithm   [inline, private]
 

Definition at line 79 of file TrimRangeAlgorithm.h.


Member Function Documentation

bool SctAnalysis::TrimRangeAlgorithm::allowTrimRangeVariation   const throw () [inline]
 

allow trim range variation between chips?

Definition at line 50 of file TrimRangeAlgorithm.h.

References s_rangeVariation.

bool SctAnalysis::TrimRangeAlgorithm::allowTrimTargetVariation   const throw () [inline]
 

allow trim target variation between chips?

Definition at line 52 of file TrimRangeAlgorithm.h.

References s_targetVariation.

void SctAnalysis::TrimRangeAlgorithm::canAddFitScanResult const string &    name throw (Sct::LogicError, Sct::IoError) [virtual]
 

Todo:
document algorithm.

Definition at line 32 of file TrimRangeAlgorithm.cpp.

References debug, Sct::IoError, Sct::nChannelChip, Sct::nChipModule, range, SctAnalysis::TrimRangeAlgorithm::TrimPoint::scan, target, and SctAnalysis::TrimRangeAlgorithm::TrimPoint::value.

shared_ptr< AnalysisAlgorithm > SctAnalysis::TrimRangeAlgorithm::clone const TestData   testData,
const string &    moduleName
const throw () [virtual]
 

over-ride

Implements SctAnalysis::AnalysisAlgorithm.

Definition at line 25 of file TrimRangeAlgorithm.cpp.

std::vector< TrimRangeAlgorithm::TrimRange > SctAnalysis::TrimRangeAlgorithm::createRanges const SctData::TestResult   r throw () [static]
 

find which trim ranges and points are represented in the data

Definition at line 392 of file TrimRangeAlgorithm.cpp.

References Sct::nChipModule.

void SctAnalysis::TrimRangeAlgorithm::doTrimDataFit SctData::TrimRangeTestResult::ChipTrimData   chipData throw () [static]
 

Fit the graph of data points with a linear fit.

linear least-squares fit

Definition at line 359 of file TrimRangeAlgorithm.cpp.

References Sct::nChannelChip.

float SctAnalysis::TrimRangeAlgorithm::firstTarget   throw () [inline, static]
 

First trim target to consider.

Definition at line 42 of file TrimRangeAlgorithm.h.

shared_ptr< const TrimRangeTestResult::ChipTrim > SctAnalysis::TrimRangeAlgorithm::getChipTrim const SctData::TrimRangeTestResult::ChipTrimData   data,
const float    target,
short unsigned    irange
throw () [static, private]
 

Definition at line 439 of file TrimRangeAlgorithm.cpp.

References Sct::nChannelChip, range, and target.

unsigned SctAnalysis::TrimRangeAlgorithm::nTargets   throw () [inline, static]
 

Number of trim targets to consider.

Definition at line 40 of file TrimRangeAlgorithm.h.

float SctAnalysis::TrimRangeAlgorithm::targetStep   throw () [inline, static]
 

Step between trim targets to consider.

Definition at line 44 of file TrimRangeAlgorithm.h.


Field Documentation

bool SctAnalysis::TrimRangeAlgorithm::inMap [static, private]
 

static var to force addition to map

Definition at line 23 of file TrimRangeAlgorithm.cpp.

bool SctAnalysis::TrimRangeAlgorithm::s_rangeVariation [static, private]
 

Definition at line 30 of file TrimRangeAlgorithm.cpp.

Referenced by allowTrimRangeVariation().

bool SctAnalysis::TrimRangeAlgorithm::s_targetVariation [static, private]
 

Definition at line 29 of file TrimRangeAlgorithm.cpp.

Referenced by allowTrimTargetVariation().


The documentation for this class was generated from the following files:
Generated on Mon Dec 15 19:37:29 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3