summaryrefslogtreecommitdiff
path: root/fresnel/error.C
diff options
context:
space:
mode:
Diffstat (limited to 'fresnel/error.C')
-rw-r--r--fresnel/error.C187
1 files changed, 187 insertions, 0 deletions
diff --git a/fresnel/error.C b/fresnel/error.C
new file mode 100644
index 0000000..c8ab6f6
--- /dev/null
+++ b/fresnel/error.C
@@ -0,0 +1,187 @@
+/*
+ This file is part of LPIC++, a particle-in-cell code for
+ simulating the interaction of laser light with plasma.
+
+ Copyright (C) 1994-1997 Roland Lichters
+
+ LPIC++ is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#include <error.h>
+
+int error_handler::error_number = 0;
+int error_handler::message_number = 0;
+int error_handler::debug_number = 0;
+int error_handler::Q_debug = 1;
+int error_handler::object_number = 0;
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+error_handler::error_handler(const char *name, char *error_file_name)
+{
+ errname = new char [filename_size];
+ strcpy(errname,error_file_name);
+
+ errfile.open(errname,ios::app);
+
+ if (!errfile)
+ {
+ cerr << " Cannot open " << errname << endl;
+ exit(1);
+ }
+
+ errfile.close();
+
+ my_name = name;
+ object_number++;
+
+ debug("");
+}
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+void error_handler::error(char* s1, char* s2, char *s3, char *s4)
+{
+ error_number++ ;
+
+ errfile.open(errname,ios::app);
+ errfile.setf(ios::left);
+
+ errfile << "FAILURE: " << setw(24) << my_name << " " << s1 << ' ' << s2
+ << s3 << s4 << endl;
+
+ errfile.close();
+
+ exit(1);
+}
+
+void error_handler::error(char* s1, double d2, char *s3, char *s4)
+{
+ error_number++ ;
+
+ errfile.open(errname,ios::app);
+ errfile.setf(ios::left);
+
+ errfile << "FAILURE: " << setw(24) << my_name << " " << s1 << ' ' << d2
+ << s3 << s4 << endl;
+
+ errfile.close();
+
+ exit(1);
+}
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+void error_handler::message(char *s1, char* s2, char* s3, char* s4)
+{
+ message_number++ ;
+
+ errfile.open(errname,ios::app);
+ errfile.setf(ios::left);
+
+ errfile << setw(33) << my_name << " "
+ << s1 << " " << s2 << " " << s3 << " " << s4 << endl;
+
+ errfile.close();
+}
+
+void error_handler::message(char *s1, double d2,
+ char* s3, char* s4)
+{
+ message_number++ ;
+
+ errfile.open(errname,ios::app);
+ errfile.setf(ios::left);
+
+ errfile.precision(12);
+
+ errfile << setw(33) << my_name << " "
+ << s1 << " " << d2 << " " << s3 << " " << s4 <<endl;
+
+ errfile.close();
+}
+
+void error_handler::message(char *s1, double d2, char* s3, double d4)
+{
+ message_number++ ;
+
+ errfile.open(errname,ios::app);
+ errfile.setf(ios::left);
+
+ errfile.precision(12);
+
+ errfile << setw(33) << my_name << " "
+ << s1 << " " << d2 << " " << s3 << " " << d4 <<endl;
+
+ errfile.close();
+}
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+void error_handler::debug(char *s1, char* s2, char* s3, char* s4)
+{
+ if (Q_debug) {
+ debug_number++ ;
+
+ errfile.open(errname,ios::app);
+ errfile.setf(ios::left);
+
+ errfile << setw(33) << my_name << " DB:" << setw(2) << object_number << " "
+ << s1 << " " << s2 << " " << s3 << " " << s4 << endl;
+
+ errfile.close();
+ }
+}
+
+void error_handler::debug(char *s1, double d2, char* s3, char* s4)
+{
+ if (Q_debug) {
+ debug_number++ ;
+
+ errfile.open(errname,ios::app);
+ errfile.setf(ios::left);
+
+ errfile.precision(12);
+
+ errfile << setw(33) << my_name << " DB:" << setw(2) << object_number << " "
+ << s1 << " " << d2 << " " << s3 << " " << s4 <<endl;
+
+ errfile.close();
+ }
+}
+
+void error_handler::debug(char *s1, double d2, char* s3, double d4)
+{
+ if (Q_debug) {
+ debug_number++ ;
+
+ errfile.open(errname,ios::app);
+ errfile.setf(ios::left);
+
+ errfile.precision(12);
+
+ errfile << setw(33) << my_name << " DB:" << setw(2) << object_number << " "
+ << s1 << " " << d2 << " " << s3 << " " << d4 <<endl;
+
+ errfile.close();
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////////////////
+//EOF
+
+
+
+