SND@LHC Software
Loading...
Searching...
No Matches
Exception.h
Go to the documentation of this file.
1/* Copyright 2008-2010, Technische Universitaet Muenchen,
2 Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3
4 This file is part of GENFIT.
5
6 GENFIT is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as published
8 by the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 GENFIT is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public License
17 along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18*/
23#ifndef genfit_Exception_h
24#define genfit_Exception_h
25
26#include <exception>
27#include <string>
28#include <vector>
29#include <iostream>
30#include <sstream>
31
32#include <TMatrixD.h>
33
34
35namespace genfit {
36
48class Exception : public TObject {
49
50 public:
57 Exception(std::string excString, int line, std::string file);
58 virtual ~Exception() throw();
59
61 void setFatal (bool b=true){fatal_=b;}
63 bool isFatal (){return fatal_;}
65 void setNumbers (std::string, const std::vector<double>&);
67 void setMatrices(std::string, const std::vector<TMatrixD>&);
68
70 void info();
71
73 virtual const char* what() const throw();
74
75 std::string getExcString(){return excString_;}
76
78 static void quiet(bool b=true){quiet_=b;}
79
80 private:
81
82 static bool quiet_;
83
84 std::string excString_;
85 int line_;
86 std::string file_;
87
88 std::string errorMessage_;
89
90 std::string numbersLabel_;
91 std::string matricesLabel_;
92 std::vector<double> numbers_;
93 std::vector<TMatrixD> matrices_;
94
95 bool fatal_;
96
97 //ClassDef(Exception,1)
98
99};
100
101} /* End of namespace genfit */
104#endif // genfit_Exception_h
Exception class for error handling in GENFIT (provides storage for diagnostic information)
Definition Exception.h:48
bool isFatal()
Get fatal flag.
Definition Exception.h:63
void setFatal(bool b=true)
Set fatal flag.
Definition Exception.h:61
void setNumbers(std::string, const std::vector< double > &)
Set list of numbers with description.
Definition Exception.cc:39
std::vector< TMatrixD > matrices_
Definition Exception.h:93
std::string matricesLabel_
Definition Exception.h:91
std::string errorMessage_
Definition Exception.h:88
std::string file_
Definition Exception.h:86
std::string excString_
Definition Exception.h:84
virtual const char * what() const
Standard error message handling for exceptions. use like "std::cerr << e.what();".
Definition Exception.cc:51
static bool quiet_
Definition Exception.h:82
void setMatrices(std::string, const std::vector< TMatrixD > &)
Set list of matrices with description.
Definition Exception.cc:45
virtual ~Exception()
Definition Exception.cc:36
std::string getExcString()
Definition Exception.h:75
std::vector< double > numbers_
Definition Exception.h:92
static void quiet(bool b=true)
"std::cerr << e.what();" will not write anything.
Definition Exception.h:78
std::string numbersLabel_
Definition Exception.h:90
void info()
Print information in the exception object.
Definition Exception.cc:59
Matrix inversion tools.
Definition AbsBField.h:29