COMPASS
5.0.0
End-to-end AO simulation tool using GPU acceleration
carma_exception.h
Go to the documentation of this file.
1
// -----------------------------------------------------------------------------
2
// This file is part of COMPASS <https://anr-compass.github.io/compass/>
3
//
4
// Copyright (C) 2011-2019 COMPASS Team <https://github.com/ANR-COMPASS>
5
// All rights reserved.
6
// Distributed under GNU - LGPL
7
//
8
// COMPASS is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser
9
// General Public License as published by the Free Software Foundation, either version 3 of the License,
10
// or any later version.
11
//
12
// COMPASS: End-to-end AO simulation tool using GPU acceleration
13
// The COMPASS platform was designed to meet the need of high-performance for the simulation of AO systems.
14
//
15
// The final product includes a software package for simulating all the critical subcomponents of AO,
16
// particularly in the context of the ELT and a real-time core based on several control approaches,
17
// with performances consistent with its integration into an instrument. Taking advantage of the specific
18
// hardware architecture of the GPU, the COMPASS tool allows to achieve adequate execution speeds to
19
// conduct large simulation campaigns called to the ELT.
20
//
21
// The COMPASS platform can be used to carry a wide variety of simulations to both testspecific components
22
// of AO of the E-ELT (such as wavefront analysis device with a pyramid or elongated Laser star), and
23
// various systems configurations such as multi-conjugate AO.
24
//
25
// COMPASS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
26
// implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
27
// See the GNU Lesser General Public License for more details.
28
//
29
// You should have received a copy of the GNU Lesser General Public License along with COMPASS.
30
// If not, see <https://www.gnu.org/licenses/lgpl-3.0.txt>.
31
// -----------------------------------------------------------------------------
32
41
42
43
#ifndef CARMA_EXCEPTION_H_
44
#define CARMA_EXCEPTION_H_
45
46
#include <string>
47
48
#define Carma_Error(s) CarmaException(s, __FILE__, __LINE__)
49
51
59
class
CarmaException
{
60
private
:
61
std::string a_reason;
62
std::string a_file;
63
unsigned
int
a_line;
64
public
:
75
CarmaException
(std::string reason, std::string file,
unsigned
int
line)
76
: a_reason(reason), a_file(file), a_line(line) {}
77
84
~CarmaException
() {}
85
94
const
char
*
show_reason
()
const
{
95
std::stringstream buf;
96
buf << a_reason <<
" in "
<< a_file <<
"@"
<< a_line << std::endl;
97
return
buf.str().c_str();
98
}
99
108
std::string
show_reason_str
()
const
{
109
std::stringstream buf;
110
buf << a_reason <<
" in "
<< a_file <<
"@"
<< a_line << std::endl;
111
return
buf.str();
112
}
113
};
114
115
#endif
/* CARMA_EXCEPTION_H_ */
CarmaException::~CarmaException
~CarmaException()
Destructor.
Definition:
carma_exception.h:84
CarmaException::show_reason
const char * show_reason() const
Format into a const char *.
Definition:
carma_exception.h:94
CarmaException::show_reason_str
std::string show_reason_str() const
Format into a string.
Definition:
carma_exception.h:108
CarmaException::CarmaException
CarmaException(std::string reason, std::string file, unsigned int line)
Constructor.
Definition:
carma_exception.h:75
CarmaException
Carma exception throw by libcarma.
Definition:
carma_exception.h:59
libcarma
include.h
carma_exception.h
Generated by
1.8.18