PandaRoot
Exception.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 /* Copyright 2008-2010, Technische Universitaet Muenchen,
14  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
15 
16  This file is part of GENFIT.
17 
18  GENFIT is free software: you can redistribute it and/or modify
19  it under the terms of the GNU Lesser General Public License as published
20  by the Free Software Foundation, either version 3 of the License, or
21  (at your option) any later version.
22 
23  GENFIT is distributed in the hope that it will be useful,
24  but WITHOUT ANY WARRANTY; without even the implied warranty of
25  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26  GNU Lesser General Public License for more details.
27 
28  You should have received a copy of the GNU Lesser General Public License
29  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
30 */
35 #ifndef genfit_Exception_h
36 #define genfit_Exception_h
37 
38 #include <exception>
39 #include <string>
40 #include <vector>
41 #include <iostream>
42 #include <sstream>
43 
44 #include <TMatrixD.h>
45 
46 namespace genfit {
47 
59 class Exception : public TObject {
60 
61  public:
68  Exception(std::string excString, int line, std::string file);
69  virtual ~Exception() throw();
70 
72  void setFatal(bool b = true) { fatal_ = b; }
74  bool isFatal() { return fatal_; }
76  void setNumbers(std::string, const std::vector<double> &);
78  void setMatrices(std::string, const std::vector<TMatrixD> &);
79 
81  void info();
82 
84  virtual const char *what() const throw();
85 
86  std::string getExcString() { return excString_; }
87 
89  static void quiet(bool b = true) { quiet_ = b; }
90 
91  private:
92  static bool quiet_;
93 
94  std::string excString_;
95  int line_;
96  std::string file_;
97 
98  std::string errorMessage_;
99 
100  std::string numbersLabel_;
101  std::string matricesLabel_;
102  std::vector<double> numbers_;
103  std::vector<TMatrixD> matrices_;
104 
105  bool fatal_;
106 
107  // ClassDef(Exception,1)
108 };
109 
110 } /* End of namespace genfit */
113 #endif // genfit_Exception_h
static void quiet(bool b=true)
"std::cerr << e.what();" will not write anything.
Definition: Exception.h:89
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:74
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
Definition: Exception.h:59
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:72
std::string getExcString()
Definition: Exception.h:86
Exception(std::string excString, int line, std::string file)
Initializing constructor.
Matrix inversion tools.
Definition: AbsBField.h:40