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:

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

Collaboration graph
[legend]

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< ResponseCurvecreate () const =0 throw ()
 Method used by IO refresh to create from a general mode a mode of the appropriate type.
virtual ~ResponseCurve () throw ()
 destructor
ResponseCurveoperator= (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 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

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

destructor

Definition at line 26 of file SCTData/src/ResponseCurve.cpp.

References ptr_function, and ptr_inverse.

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

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

Definition at line 34 of file SCTData/src/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_v1::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 175 of file SCTData/src/ResponseCurve.h.

References ptr_function.

Referenced by SctData::ExponentialResponseCurve::ExponentialResponseCurve(), SctData::GrilloResponseCurve::GrilloResponseCurve(), operator=(), SctData::QuadraticResponseCurve::QuadraticResponseCurve(), and SctData::IO::ResponseCurveStreamer_v1::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 179 of file SCTData/src/ResponseCurve.h.

References SctData::ResponseCurveMap::getIndex(), and SctData::ResponseCurveMap::getMap().

Here is the call graph for this function:

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 SCTData/src/ResponseCurve.cpp.

References getFunction().

Here is the call graph for this function:

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

make deep comparison:

Definition at line 16 of file SCTData/src/ResponseCurve.cpp.


The documentation for this class was generated from the following files:
Generated on Mon Feb 6 14:07:37 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6