Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/ChargeExchangeMC/include/CexmcException.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /examples/advanced/ChargeExchangeMC/include/CexmcException.hh (Version 11.3.0) and /examples/advanced/ChargeExchangeMC/include/CexmcException.hh (Version 10.1.p2)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 /*                                                 26 /*
 27  * ===========================================     27  * =============================================================================
 28  *                                                 28  *
 29  *       Filename:  CexmcException.hh              29  *       Filename:  CexmcException.hh
 30  *                                                 30  *
 31  *    Description:  cexmc exceptions               31  *    Description:  cexmc exceptions
 32  *                                                 32  *
 33  *        Version:  1.0                            33  *        Version:  1.0
 34  *        Created:  04.11.2009 00:00:58            34  *        Created:  04.11.2009 00:00:58
 35  *       Revision:  none                           35  *       Revision:  none
 36  *       Compiler:  gcc                            36  *       Compiler:  gcc
 37  *                                                 37  *
 38  *         Author:  Alexey Radkov (),              38  *         Author:  Alexey Radkov (), 
 39  *        Company:  PNPI                           39  *        Company:  PNPI
 40  *                                                 40  *
 41  * ===========================================     41  * =============================================================================
 42  */                                                42  */
 43                                                    43 
 44 #ifndef CEXMC_EXCEPTION_HH                         44 #ifndef CEXMC_EXCEPTION_HH
 45 #define CEXMC_EXCEPTION_HH                         45 #define CEXMC_EXCEPTION_HH
 46                                                    46 
 47 #include <stdexcept>                               47 #include <stdexcept>
 48 #include <G4Types.hh>                              48 #include <G4Types.hh>
 49                                                    49 
 50                                                    50 
 51 enum  CexmcExceptionType                           51 enum  CexmcExceptionType
 52 {                                                  52 {
 53     CexmcUnknownException,                         53     CexmcUnknownException,
 54     CexmcSystemException,                          54     CexmcSystemException,
 55     CexmcEventActionIsNotInitialized,              55     CexmcEventActionIsNotInitialized,
 56     CexmcCmdLineParseException,                    56     CexmcCmdLineParseException,
 57     CexmcPreinitException,                         57     CexmcPreinitException,
 58     CexmcFileCompressException,                    58     CexmcFileCompressException,
 59     CexmcReadProjectIncomplete,                    59     CexmcReadProjectIncomplete,
 60     CexmcProjectExists,                            60     CexmcProjectExists,
 61     CexmcCmdIsNotAllowed,                          61     CexmcCmdIsNotAllowed,
 62     CexmcBadAngularRange,                          62     CexmcBadAngularRange,
 63     CexmcBadThreshold,                             63     CexmcBadThreshold,
 64     CexmcBadCalorimeterTriggerAlgorithm,           64     CexmcBadCalorimeterTriggerAlgorithm,
 65     CexmcBadOCVetoAlgorithm,                       65     CexmcBadOCVetoAlgorithm,
 66     CexmcBadOCVetoFraction,                        66     CexmcBadOCVetoFraction,
 67     CexmcCalorimeterRegionNotInitialized,          67     CexmcCalorimeterRegionNotInitialized,
 68     CexmcCalorimeterGeometryDataNotInitialized     68     CexmcCalorimeterGeometryDataNotInitialized,
 69     CexmcMultipleDetectorRoles,                    69     CexmcMultipleDetectorRoles,
 70     CexmcKinematicsException,                      70     CexmcKinematicsException,
 71     CexmcPoorEventData,                            71     CexmcPoorEventData,
 72     CexmcIncompatibleGeometry,                     72     CexmcIncompatibleGeometry,
 73     CexmcIncompleteProductionModel,                73     CexmcIncompleteProductionModel,
 74     CexmcIncompatibleProductionModel,              74     CexmcIncompatibleProductionModel,
 75     CexmcBeamAndIncidentParticlesMismatch,         75     CexmcBeamAndIncidentParticlesMismatch,
 76     CexmcInvalidAngularRange,                      76     CexmcInvalidAngularRange,
 77 #ifdef CEXMC_USE_CUSTOM_FILTER                     77 #ifdef CEXMC_USE_CUSTOM_FILTER
 78     CexmcCFBadSource,                              78     CexmcCFBadSource,
 79     CexmcCFParseError,                             79     CexmcCFParseError,
 80     CexmcCFUninitialized,                          80     CexmcCFUninitialized,
 81     CexmcCFUninitializedVector,                    81     CexmcCFUninitializedVector,
 82     CexmcCFUnexpectedContext,                      82     CexmcCFUnexpectedContext,
 83     CexmcCFUnexpectedFunction,                     83     CexmcCFUnexpectedFunction,
 84     CexmcCFUnexpectedVariable,                     84     CexmcCFUnexpectedVariable,
 85     CexmcCFUnexpectedVariableUsage,                85     CexmcCFUnexpectedVariableUsage,
 86     CexmcCFUnexpectedVectorIndex,                  86     CexmcCFUnexpectedVectorIndex,
 87 #endif                                             87 #endif
 88     CexmcWeirdException                            88     CexmcWeirdException
 89 };                                                 89 };
 90                                                    90 
 91                                                    91 
 92 class  CexmcException : public std::exception      92 class  CexmcException : public std::exception
 93 {                                                  93 {
 94     public:                                        94     public:
 95         explicit CexmcException( CexmcExceptio     95         explicit CexmcException( CexmcExceptionType  type );
 96                                                    96 
 97         ~CexmcException() throw();                 97         ~CexmcException() throw();
 98                                                    98 
 99     public:                                        99     public:
100         const char *  what( void ) const throw    100         const char *  what( void ) const throw();
101                                                   101 
102     private:                                      102     private:
103         CexmcExceptionType  type;                 103         CexmcExceptionType  type;
104 };                                                104 };
105                                                   105 
106                                                   106 
107 void  ThrowExceptionIfProjectIsRead( CexmcExce    107 void  ThrowExceptionIfProjectIsRead( CexmcExceptionType  type,
108                                      G4bool  e    108                                      G4bool  extraCond = true );
109                                                   109 
110                                                   110 
111 #endif                                            111 #endif
112                                                   112 
113                                                   113