HepMC3 event record library
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
include
HepMC3
Errors.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
//
3
// This file is part of HepMC
4
// Copyright (C) 2014-2020 The HepMC collaboration (see AUTHORS for details)
5
/**
6
* @file Errors.h
7
* @brief Implementation of error and HEPMC3_HEPMC3_WARNING macros
8
*
9
*/
10
#ifndef HEPMC3_ERRORS_H
11
#define HEPMC3_ERRORS_H
12
13
#include <iostream>
14
#include <stdexcept>
15
16
namespace
HepMC3 {
17
18
19
/// @name Printing macros
20
//@{
21
22
/** @brief Macro for printing error messages */
23
#define HEPMC3_ERROR(MESSAGE) if ( Setup::print_errors() ) { std::cerr << "ERROR::" << MESSAGE << std::endl; }
24
25
/** @brief Macro for printing HEPMC3_HEPMC3_WARNING messages */
26
#define HEPMC3_WARNING(MESSAGE) if ( Setup::print_warnings() ) { std::cout << "WARNING::" << MESSAGE << std::endl; }
27
28
// Debug messages and code that will not go to the release version
29
#ifndef HEPMC3_RELEASE_VERSION
30
31
/** @brief Macro for printing debug messages with appropriate debug level */
32
#define HEPMC3_DEBUG(LEVEL,MESSAGE) if( Setup::debug_level()>=(LEVEL) ) { std::cout << "DEBUG(" << LEVEL <<")::" << MESSAGE << std::endl; }
33
/** @brief Macro for storing code useful for debugging */
34
#define HEPMC3_DEBUG_CODE_BLOCK( x ) x
35
36
#else
37
38
#define HEPMC3_DEBUG( x,y )
39
#define HEPMC3_DEBUG_CODE_BLOCK( x )
40
41
#endif
42
43
//@}
44
45
46
47
48
}
// namespace HepMC3
49
50
#endif
Generated on Mon Jan 4 2021 09:07:24 for HepMC3 event record library by
1.8.5