GENFIT  Rev:NoNumberAvailable
Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
genfit::Exception Class Reference

Exception class for error handling in GENFIT (provides storage for diagnostic information) More...

#include <Exception.h>

Inheritance diagram for genfit::Exception:
Inheritance graph
Collaboration diagram for genfit::Exception:
Collaboration graph

Public Member Functions

 Exception (std::string excString, int line, std::string file)
 Initializing constructor. More...
 
virtual ~Exception () throw ()
 
void setFatal (bool b=true)
 Set fatal flag. More...
 
bool isFatal ()
 Get fatal flag. More...
 
void setNumbers (std::string, const std::vector< double > &)
 Set list of numbers with description. More...
 
void setMatrices (std::string, const std::vector< TMatrixD > &)
 Set list of matrices with description. More...
 
void info ()
 Print information in the exception object. More...
 
virtual const char * what () const throw ()
 Standard error message handling for exceptions. use like "std::cerr << e.what();". More...
 
std::string getExcString ()
 

Static Public Member Functions

static void quiet (bool b=true)
 "std::cerr << e.what();" will not write anything. More...
 

Private Attributes

std::string excString_
 
int line_
 
std::string file_
 
std::string errorMessage_
 
std::string numbersLabel_
 
std::string matricesLabel_
 
std::vector< double > numbers_
 
std::vector< TMatrixD > matrices_
 
bool fatal_
 

Static Private Attributes

static bool quiet_ = false
 

Detailed Description

Exception class for error handling in GENFIT (provides storage for diagnostic information)

Author
Christian Höppner (Technische Universität München, original author)
Sebastian Neubert (Technische Universität München, original author)

This is the class that is used for all error handling in GENFIT. It is a utility class that allows to store numbers and matrices together with an error string. The exception class can then be thrown when an error is detected and the C++ exception handling facilities can be used to catch and process the exception.

Definition at line 48 of file Exception.h.

Constructor & Destructor Documentation

◆ Exception()

genfit::Exception::Exception ( std::string  excString,
int  line,
std::string  file 
)

Initializing constructor.

Parameters
excStringerror message.
lineline at which the exception is created. Can be set through LINE macro.
filesourcefile in which the exception is created. Can be set through FILE macro.

Definition at line 27 of file Exception.cc.

References errorMessage_, excString_, fatal_, file_, and line_.

◆ ~Exception()

genfit::Exception::~Exception ( )
throw (
)
virtual

Definition at line 37 of file Exception.cc.

Member Function Documentation

◆ getExcString()

std::string genfit::Exception::getExcString ( )
inline

Definition at line 75 of file Exception.h.

References excString_.

◆ info()

void genfit::Exception::info ( )

Print information in the exception object.

Definition at line 56 of file Exception.cc.

References genfit::debugOut, matrices_, matricesLabel_, numbers_, numbersLabel_, and quiet_.

Referenced by genfit::DAF::calcWeights(), and genfit::DAF::processTrackWithRep().

◆ isFatal()

bool genfit::Exception::isFatal ( )
inline

Get fatal flag.

Definition at line 63 of file Exception.h.

References fatal_.

◆ quiet()

static void genfit::Exception::quiet ( bool  b = true)
inlinestatic

"std::cerr << e.what();" will not write anything.

Definition at line 78 of file Exception.h.

References quiet_.

◆ setFatal()

void genfit::Exception::setFatal ( bool  b = true)
inline

Set fatal flag.

Definition at line 61 of file Exception.h.

References fatal_.

Referenced by genfit::DAF::addProbCut(), genfit::MeasurementFactory< measurement_T >::addProducer(), genfit::AbsKalmanFitter::canIgnoreWeights(), genfit::RKTrackRep::checkCache(), genfit::Track::createMeasurements(), genfit::MeasurementFactory< measurement_T >::createOne(), genfit::MaterialEffects::dEdxBetheBloch(), genfit::MaterialEffects::effects(), genfit::RKTrackRep::Extrap(), genfit::RKTrackRep::extrapolateBy(), genfit::RKTrackRep::extrapolateToCone(), genfit::RKTrackRep::extrapolateToCylinder(), genfit::RKTrackRep::extrapolateToLine(), genfit::RKTrackRep::extrapolateToSphere(), genfit::RKTrackRep::extrapToPoint(), genfit::TGeoMaterialInterface::findNextBoundary(), genfit::KalmanFitter::fitTrack(), genfit::RKTrackRep::getBackwardJacobianAndNoise(), genfit::RKTrackRep::getCharge(), genfit::KalmanFitterInfo::getClosestMeasurementOnPlane(), genfit::KalmanFitterInfo::getFittedState(), genfit::Track::getFittedState(), genfit::Track::getIdForRep(), genfit::AbsKalmanFitter::getMeasurements(), genfit::MaterialEffects::getMomGammaBeta(), genfit::RKTrackRep::getMomVar(), genfit::RKTrackRep::getSpu(), genfit::RKTrackRep::getState7(), genfit::tools::invertMatrix(), genfit::Track::mergeTrack(), genfit::KalmanFitterRefTrack::prepareTrack(), genfit::MeasurementProducer< hit_T, measurement_T >::produce(), genfit::RKTrackRep::RKutta(), genfit::RKTrackRep::setChargeSign(), genfit::MaterialEffects::setMscModel(), genfit::RKTrackRep::setPosMom(), and genfit::MaterialEffects::stepper().

◆ setMatrices()

void genfit::Exception::setMatrices ( std::string  _matricesLabel,
const std::vector< TMatrixD > &  _matrices 
)

Set list of matrices with description.

Definition at line 46 of file Exception.cc.

References matrices_, and matricesLabel_.

◆ setNumbers()

void genfit::Exception::setNumbers ( std::string  _numbersLabel,
const std::vector< double > &  _numbers 
)

Set list of numbers with description.

Definition at line 40 of file Exception.cc.

References numbers_, and numbersLabel_.

Referenced by genfit::MeasurementFactory< measurement_T >::addProducer(), and genfit::MeasurementFactory< measurement_T >::createOne().

◆ what()

const char * genfit::Exception::what ( ) const
throw (
)
virtual

Member Data Documentation

◆ errorMessage_

std::string genfit::Exception::errorMessage_
private

Definition at line 88 of file Exception.h.

Referenced by Exception(), and what().

◆ excString_

std::string genfit::Exception::excString_
private

Definition at line 84 of file Exception.h.

Referenced by Exception(), and getExcString().

◆ fatal_

bool genfit::Exception::fatal_
private

Definition at line 95 of file Exception.h.

Referenced by Exception(), isFatal(), and setFatal().

◆ file_

std::string genfit::Exception::file_
private

Definition at line 86 of file Exception.h.

Referenced by Exception().

◆ line_

int genfit::Exception::line_
private

Definition at line 85 of file Exception.h.

Referenced by Exception().

◆ matrices_

std::vector<TMatrixD> genfit::Exception::matrices_
private

Definition at line 93 of file Exception.h.

Referenced by info(), and setMatrices().

◆ matricesLabel_

std::string genfit::Exception::matricesLabel_
private

Definition at line 91 of file Exception.h.

Referenced by info(), and setMatrices().

◆ numbers_

std::vector<double> genfit::Exception::numbers_
private

Definition at line 92 of file Exception.h.

Referenced by info(), and setNumbers().

◆ numbersLabel_

std::string genfit::Exception::numbersLabel_
private

Definition at line 90 of file Exception.h.

Referenced by info(), and setNumbers().

◆ quiet_

bool genfit::Exception::quiet_ = false
staticprivate

Definition at line 82 of file Exception.h.

Referenced by info(), and quiet().


The documentation for this class was generated from the following files: