PandaRoot
GFException.h
Go to the documentation of this file.
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert
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 */
22 #ifndef GFEXCEPTION_H
23 #define GFEXCEPTION_H
24 
25 #include <exception>
26 #include <string>
27 #include <vector>
28 #include <iostream>
29 #include <sstream>
30 
31 #include "TMatrixT.h"
32 
44 class GFException : public std::exception {
45  private:
46  static bool fQuiet;
47 
48  std::string fExcString;
49  int fLine;
50  std::string fFile;
51 
52  std::string fErrorMessage;
53 
54  std::string fNumbersLabel;
55  std::string fMatricesLabel;
56  std::vector<double> fNumbers;
57  std::vector<TMatrixT<double>> fMatrices;
58 
59  bool fFatal;
60 
61  public:
70  GFException(std::string, int, std::string);
71  virtual ~GFException() throw();
72 
74  void setFatal(bool b = true) { fFatal = b; }
76  bool isFatal() { return fFatal; }
78  void setNumbers(std::string, const std::vector<double> &);
80  void setMatrices(std::string, const std::vector<TMatrixT<double>> &);
81 
83  void info();
84 
86  virtual const char *what() const throw();
87 
88  std::string getExcString() { return fExcString; }
89 
90  static void quiet(bool b = true) { fQuiet = b; }
91 };
92 
93 #endif
94 
void setMatrices(std::string, const std::vector< TMatrixT< double >> &)
set list of matrices with description
static void quiet(bool b=true)
Definition: GFException.h:90
void setNumbers(std::string, const std::vector< double > &)
set list of numbers with description
virtual ~GFException()
bool isFatal()
get fatal flag.
Definition: GFException.h:76
std::string getExcString()
Definition: GFException.h:88
void info()
print information in the exception object
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
Definition: GFException.h:44
GFException(std::string, int, std::string)
Initializing constructor.
void setFatal(bool b=true)
set fatal flag. if this is true, the fit stops for this current track repr.
Definition: GFException.h:74
virtual const char * what() const
standard error message handling for exceptions. use like "std::cerr << e.what();" ...