FairRoot/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 */
23 #ifndef GFEXCEPTION_H
24 #define GFEXCEPTION_H
25 
26 #include <exception>
27 #include <string>
28 #include <vector>
29 #include <iostream>
30 #include <sstream>
31 
32 #include "TMatrixT.h"
33 
45 class GFException : public std::exception
46 {
47  private:
48 
49  static bool fQuiet;
50 
51  std::string fExcString;
52  int fLine;
53  std::string fFile;
54 
55  std::string fErrorMessage;
56 
57  std::string fNumbersLabel;
58  std::string fMatricesLabel;
59  std::vector<double> fNumbers;
60  std::vector< TMatrixT<double> > fMatrices;
61 
62  bool fFatal;
63 
64  public:
73  GFException(std::string, int, std::string);
74  virtual ~GFException() throw();
75 
77  void setFatal (bool b=true){fFatal=b;}
79  bool isFatal (){return fFatal;}
81  void setNumbers (std::string, const std::vector<double>&);
83  void setMatrices(std::string, const std::vector< TMatrixT<double> >&);
84 
86  void info();
87 
89  virtual const char* what() const throw();
90 
91  std::string getExcString(){return fExcString;}
92 
93  static void quiet(bool b=true){fQuiet=b;}
94 
95 };
96 
97 #endif
98 
std::string fNumbersLabel
Definition: GFException.h:57
TTree * b
virtual const char * what() const
standard error message handling for exceptions. use like "std::cerr << e.what();" ...
Definition: GFException.cxx:47
std::string fMatricesLabel
Definition: GFException.h:58
std::vector< TMatrixT< double > > fMatrices
Definition: GFException.h:60
static void quiet(bool b=true)
Definition: GFException.h:93
void setNumbers(std::string, const std::vector< double > &)
set list of numbers with description
Definition: GFException.cxx:35
std::string fErrorMessage
Definition: GFException.h:55
bool isFatal()
get fatal flag.
Definition: GFException.h:79
void setMatrices(std::string, const std::vector< TMatrixT< double > > &)
set list of matrices with description
Definition: GFException.cxx:41
std::string fFile
Definition: GFException.h:53
std::string getExcString()
Definition: GFException.h:91
void info()
print information in the exception object
Definition: GFException.cxx:52
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
Definition: GFException.h:45
GFException(std::string, int, std::string)
Initializing constructor.
Definition: GFException.cxx:23
std::vector< double > fNumbers
Definition: GFException.h:59
virtual ~GFException()
Definition: GFException.cxx:32
void setFatal(bool b=true)
set fatal flag. if this is true, the fit stops for this current track repr.
Definition: GFException.h:77
std::string fExcString
Definition: GFException.h:51
static bool fQuiet
Definition: GFException.h:49