3 // Reference.xh is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
9 #ifndef ThePEG_Reference_XH
10 #define ThePEG_Reference_XH
12 // This is the declarations of the exception classes used by the
16 #include "InterfaceBase.xh"
20 /** @cond EXCEPTIONCLASSES */
21 /** Exception class used by Reference if trying to set a pointer of
23 struct RefExSetRefClass: public InterfaceException {
24 /** Standard constructor. */
25 RefExSetRefClass(const RefInterfaceBase & i, const InterfacedBase & o,
29 /** Exception class used by Referenceif an unknown error occurs. */
30 struct RefExSetUnknown: public InterfaceException {
31 /** Standard constructor. */
32 RefExSetUnknown(const InterfaceBase & i, const InterfacedBase & o,
36 /** Exception class used by Reference if an unknown error occurs. */
37 struct RefExGetUnknown: public InterfaceException {
38 /** Standard constructor. */
39 RefExGetUnknown(const InterfaceBase & i, const InterfacedBase & o);
42 /** Exception class used by Reference of a specified object was not
44 struct RefExSetNoobj: public InterfaceException {
45 /** Standard constructor. */
46 RefExSetNoobj(const InterfaceBase & i, const InterfacedBase & o, string);
49 /** Exception class used by Reference for issuing warnings. */
50 struct RefExSetMessage: public InterfaceException {
51 /** Standard constructor. */
52 RefExSetMessage(string ref, const InterfacedBase & o,
53 const InterfacedBase & o2, string);
59 #endif /* ThePEG_Reference_XH */