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

SctData::ResponseCurve Class Reference

This interface represents the user selectable mode for fitting an N Pt Gain curve. More...

#include <ResponseCurve.h>

Inheritance diagram for SctData::ResponseCurve:

Sct::Streamable SctData::ExponentialResponseCurve SctData::GrilloResponseCurve SctData::LinearResponseCurve SctData::QuadraticResponseCurve

Public Member Functions

shared_ptr< TF1 > getFunction () const throw ()
 Get a TF1 that is the fit function.

virtual shared_ptr< TF1 > getInverseFunction () const=0 throw (LogicError)
 Get a TF1 that represents the inverse function.

const int getIndex () const throw ()
 return the integer index representation of the sub-class.

virtual double getGain (const double charge) const=0 throw ()
 Given a TF1 and a charge point, return the gain.

virtual auto_ptr< ResponseCurve > create () const=0 throw ()
 Method used by IO refresh to create from a general mode a mode of the appropriate type.

virtual ~ResponseCurve () throw ()
 destructor

ResponseCurve & operator= (const ResponseCurve &) throw ()
 make deep copies:

bool operator== (const ResponseCurve &) const throw ()
 make deep comparison:

virtual string getClassName () const throw ()
 over-ride streamable here once and for all

virtual string getCurveName () const throw ()
 idendifier so that IO can find the right curve


Protected Member Functions

 ResponseCurve (auto_ptr< TF1 >) throw (LogicError)
 sub-classes make themselves with a pointer to their TF1.


Protected Attributes

shared_ptr< TF1 > ptr_inverse

Private Member Functions

 ResponseCurve ()

Private Attributes

shared_ptr< TF1 > ptr_function

Detailed Description

This interface represents the user selectable mode for fitting an N Pt Gain curve.

Definition at line 24 of file SCTData/src/ResponseCurve.h.


Constructor & Destructor Documentation

virtual SctData::ResponseCurve::~ResponseCurve   throw () [inline, virtual]
 

destructor

Definition at line 50 of file SCTData/src/ResponseCurve.h.

SctData::ResponseCurve::ResponseCurve   [private]
 

SctData::ResponseCurve::ResponseCurve auto_ptr< TF1 >    throw (LogicError) [protected]
 

sub-classes make themselves with a pointer to their TF1.

Definition at line 26 of file ResponseCurve.cpp.


Member Function Documentation

virtual auto_ptr<ResponseCurve> SctData::ResponseCurve::create   const throw () [pure virtual]
 

Method used by IO refresh to create from a general mode a mode of the appropriate type.

Returns:
a new object of the derived class type.

Implemented in SctData::LinearResponseCurve, SctData::ExponentialResponseCurve, SctData::GrilloResponseCurve, and SctData::QuadraticResponseCurve.

virtual string SctData::ResponseCurve::getClassName   const throw () [inline, virtual]
 

over-ride streamable here once and for all

Implements Sct::Streamable.

Definition at line 56 of file SCTData/src/ResponseCurve.h.

virtual string SctData::ResponseCurve::getCurveName   const throw () [inline, virtual]
 

idendifier so that IO can find the right curve

Reimplemented in SctData::LinearResponseCurve, SctData::ExponentialResponseCurve, SctData::GrilloResponseCurve, and SctData::QuadraticResponseCurve.

Definition at line 58 of file SCTData/src/ResponseCurve.h.

Referenced by SctData::IO::ResponseCurveStreamer::write().

shared_ptr< TF1 > SctData::ResponseCurve::getFunction   const throw () [inline]
 

Get a TF1 that is the fit function.

(i.e. threshold as a function of charge)

Exceptions:
LogicError if TF1 can't be make.

Definition at line 174 of file SCTData/src/ResponseCurve.h.

Referenced by SctData::IO::ResponseCurveStreamer::write().

virtual double SctData::ResponseCurve::getGain const double    charge const throw () [pure virtual]
 

Given a TF1 and a charge point, return the gain.

Parameters:
charge The charge for which the gain is wanted.
Returns:
The gain.

Implemented in SctData::LinearResponseCurve, SctData::ExponentialResponseCurve, SctData::GrilloResponseCurve, and SctData::QuadraticResponseCurve.

const int SctData::ResponseCurve::getIndex   const throw () [inline]
 

return the integer index representation of the sub-class.

Definition at line 178 of file SCTData/src/ResponseCurve.h.

virtual shared_ptr<TF1> SctData::ResponseCurve::getInverseFunction   const throw (LogicError) [pure virtual]
 

Get a TF1 that represents the inverse function.

(i.e. charge as a function of threshold)

Exceptions:
LogicError if TF1 can't be made;

Implemented in SctData::LinearResponseCurve, SctData::ExponentialResponseCurve, SctData::GrilloResponseCurve, and SctData::QuadraticResponseCurve.

ResponseCurve & SctData::ResponseCurve::operator= const ResponseCurve &    throw ()
 

make deep copies:

Definition at line 10 of file ResponseCurve.cpp.

bool SctData::ResponseCurve::operator== const ResponseCurve &    const throw ()
 

make deep comparison:

Definition at line 16 of file ResponseCurve.cpp.


Field Documentation

shared_ptr<TF1> SctData::ResponseCurve::ptr_function [private]
 

Definition at line 61 of file SCTData/src/ResponseCurve.h.

shared_ptr<TF1> SctData::ResponseCurve::ptr_inverse [mutable, protected]
 

Definition at line 63 of file SCTData/src/ResponseCurve.h.


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