PandaRoot
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 namespace genfit {
35 
47 class Exception : public TObject {
48 
49  public:
56  Exception(std::string excString, int line, std::string file);
57  virtual ~Exception() throw();
58 
60  void setFatal(bool b = true) { fatal_ = b; }
62  bool isFatal() { return fatal_; }
64  void setNumbers(std::string, const std::vector<double> &);
66  void setMatrices(std::string, const std::vector<TMatrixD> &);
67 
69  void info();
70 
72  virtual const char *what() const throw();
73 
74  std::string getExcString() { return excString_; }
75 
77  static void quiet(bool b = true) { quiet_ = b; }
78 
79  private:
80  static bool quiet_;
81 
82  std::string excString_;
83  int line_;
84  std::string file_;
85 
86  std::string errorMessage_;
87 
88  std::string numbersLabel_;
89  std::string matricesLabel_;
90  std::vector<double> numbers_;
91  std::vector<TMatrixD> matrices_;
92 
93  bool fatal_;
94 
95  // ClassDef(Exception,1)
96 };
97 
98 } /* End of namespace genfit */
101 #endif // genfit_Exception_h
static void quiet(bool b=true)
"std::cerr << e.what();" will not write anything.
Definition: Exception.h:77
void setMatrices(std::string, const std::vector< TMatrixD > &)
Set list of matrices with description.
void setNumbers(std::string, const std::vector< double > &)
Set list of numbers with description.
virtual ~Exception()
void info()
Print information in the exception object.
bool isFatal()
Get fatal flag.
Definition: Exception.h:62
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
Definition: Exception.h:47
virtual const char * what() const
Standard error message handling for exceptions. use like "std::cerr << e.what();".
void setFatal(bool b=true)
Set fatal flag.
Definition: Exception.h:60
std::string getExcString()
Definition: Exception.h:74
Exception(std::string excString, int line, std::string file)
Initializing constructor.
Matrix inversion tools.
Definition: AbsBField.h:28