FairRoot/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 
35 namespace genfit {
36 
48 class 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
static void quiet(bool b=true)
"std::cerr << e.what();" will not write anything.
Definition: Exception.h:78
std::string file_
Definition: Exception.h:86
TTree * b
TFile * file
void setMatrices(std::string, const std::vector< TMatrixD > &)
Set list of matrices with description.
std::vector< TMatrixD > matrices_
Definition: Exception.h:93
void setNumbers(std::string, const std::vector< double > &)
Set list of numbers with description.
virtual ~Exception()
void info()
Print information in the exception object.
std::string errorMessage_
Definition: Exception.h:88
std::string matricesLabel_
Definition: Exception.h:91
std::string excString_
Definition: Exception.h:84
std::string numbersLabel_
Definition: Exception.h:90
bool isFatal()
Get fatal flag.
Definition: Exception.h:63
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
Definition: Exception.h:48
static bool quiet_
Definition: Exception.h:82
void setFatal(bool b=true)
Set fatal flag.
Definition: Exception.h:61
std::string getExcString()
Definition: Exception.h:75
Exception(std::string excString, int line, std::string file)
Initializing constructor.
std::vector< double > numbers_
Definition: Exception.h:92
virtual const char * what() const
Standard error message handling for exceptions. use like "std::cerr << e.what();".
Matrix inversion tools.
Definition: AbsBField.h:29