Changeset 913 in Sophya


Ignore:
Timestamp:
Apr 13, 2000, 5:58:41 PM (25 years ago)
Author:
ansari
Message:

Documentation + Modifs mineures (namespace, etc..) - Reza 13/4/2000

Location:
trunk/SophyaLib
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/BaseTools/dvlist.cc

    r895 r913  
    4343
    4444/*!
     45   \class SOPHYA::MuTyV
     46   \ingroup SysTools
     47   Simple utility class which can be used to hold values of type
     48   string, integer (\b int_8) or float (\b r_8) and providing
     49   easy conversion methods between these types.
     50*/
     51
     52/*!
    4553   \class SOPHYA::DVList
     54   \ingroup SysTools
    4655   This class can be used to construct list of values associated with names.
    4756   Variables names should not contain space characters and is limited to 64
  • trunk/SophyaLib/BaseTools/dvlist.h

    r895 r913  
    2020
    2121// Classe utilitaire pour manipuler des variables typees
     22//! A simple class for holding string, integer and float type values.
    2223class MuTyV {
    2324public:
  • trunk/SophyaLib/BaseTools/machdefs.h

    r849 r913  
    342342/* ********************************************************/
    343343
     344/* ---- Activation des flags de debug/bound checking  ----- */
     345#ifdef SOPHYA_DEBUG
     346#define SO_BOUNDCHECKING
     347#endif
     348
    344349/* Compatibilite, avant de migrer tout le code en "PLANCK" */
    345350
  • trunk/SophyaLib/BaseTools/pexceptions.h

    r895 r913  
    1717  string BuildLongExceptionMessage(const char * s, const char *file, int line);
    1818
    19 //! Base exception class in Sophya.
    20 /*! Ancestor for PError and PException
     19/*! \ingroup SysTools
     20    \brief Base exception class in Sophya
     21
     22    Ancestor for PError and PException
    2123    It has a message, and an id to give more
    2224    information on the exception.
     
    4143//      PException
    4244 
    43 //! A PError is a serious logic error. Usually not caught...
     45/*! \ingroup SysTools
     46    \brief A PError is a serious logic error. Usually not caught... */
    4447  class PError : public PThrowable {
    4548  public:
     
    4750  };
    4851 
    49 //! A PException is not as serious... Can be caught.
     52/*! \ingroup SysTools
     53    \brief A PException is not as serious... Can be caught. */
    5054  class PException : public PThrowable {
    5155  public:
     
    6064//     AssertionFailedError
    6165
    62 //! Memory allocation failure
     66/*! \ingroup SysTools
     67    \brief Memory allocation failure */
    6368  class AllocationError : public PError {
    6469  public:
     
    6671  };
    6772 
    68 //! Null pointer error
     73/*! \ingroup SysTools
     74    \brief Null pointer error */
    6975  class NullPtrError : public PError {
    7076  public:
     
    7379 
    7480 
    75 //! Calling a forbidden method, trying a forbidden operation
     81/*! \ingroup SysTools
     82    \brief Calling a forbidden method, trying a forbidden operation */
    7683  class ForbiddenError : public PError {
    7784  public:
     
    8087
    8188 
    82 //! ASSERT macro failure. The message is the assertion...
     89/*! \ingroup SysTools
     90    \brief ASSERT macro failure. The message is the assertion... */
    8391  class AssertionFailedError : public PError {
    8492  public:
     
    101109  //   CaughtSignalExc
    102110 
    103   //! Generic IO Exception.
     111/*! \ingroup SysTools
     112    \brief Generic IO Exception */
    104113  class IOExc : public PException {
    105114  public:
     
    107116  };
    108117
    109   //! Bad file format.
     118/*! \ingroup SysTools
     119    \brief Bad file format */
    110120  class FileFormatExc : public IOExc {
    111121  public:
     
    113123  };
    114124
    115   //! Size mismatch between objects.
     125/*! \ingroup SysTools
     126    \brief Size mismatch between objects */
    116127  class SzMismatchError : public PException {
    117128  public:
     
    119130  };
    120131 
    121   //! Out of bounds for array, matrix, etc.
     132/*! \ingroup SysTools
     133    \brief Out of bounds for array, matrix, etc */
    122134  class RangeCheckError : public PException {
    123135  public:
     
    125137  };
    126138 
    127   //! Invalid parameter to method/constructor...
     139/*! \ingroup SysTools
     140    \brief Invalid parameter to method/constructor... */
    128141  class ParmError : public PException {
    129142  public:
     
    131144  };
    132145
    133   //! Calling a non available / not implemented method
     146/*! \ingroup SysTools
     147    \brief Calling a non available / not implemented method */
    134148  class NotAvailableOperation : public PException {
    135149  public:
     
    137151  };
    138152
    139   //! Bad data type -> keep ?
     153/*! \ingroup SysTools
     154    \brief Bad data type -> keep ? */
    140155  class TypeMismatchExc : public PException {
    141156  public:
     
    143158  };
    144159
    145   //! Math operation exception
     160/*! \ingroup SysTools
     161    \brief Math operation exception */
    146162  class MathExc : public PException {
    147163  public:
     
    149165  };
    150166 
    151   //! Singular matrix
     167/*! \ingroup SysTools
     168    \brief Singular matrix  */
    152169  class SingMatrixExc : public MathExc {
    153170  public:
     
    155172  };
    156173
    157   //! Duplicate identifier during registration
     174/*! \ingroup SysTools
     175    \brief Duplicate identifier during registration */
    158176  class DuplicateIdExc : public PException {
    159177  public:
     
    161179  };
    162180 
    163   //! Not found identifier
     181/*! \ingroup SysTools
     182    \brief Not found identifier  */
    164183  class NotFoundExc : public PException {
    165184  public:
     
    167186  };
    168187 
    169   //! Generated exception when processing a signal
     188/*! \ingroup SysTools
     189    \brief Generated exception when processing a signal */
    170190  class CaughtSignalExc : public PException {
    171191  public:
  • trunk/SophyaLib/BaseTools/sophyainit.cc

    r802 r913  
    1818// ---  Classe d'initialisation de SOPHYA, (PPersistMgr en particulier)
    1919int SophyaInitiator::FgInit = 0;
     20
     21/*!
     22   \namespace SOPHYA
     23   \brief This is the namespace for the whole Sophya package
     24*/
     25
     26/*!
     27   \defgroup SysTools SysTools module
     28   This module contains classes and functions which define the
     29   general framework for \b Sophya package such as the simple
     30   persistence, serialisation mechanism through \b PPersist,
     31   \b POutPersist, \b PInPersist classes. It contains also
     32   few utility classes such as the \b NDataBlock<T>, (template
     33   numerical arrays with reference counting and sharing)
     34   \b DataCards and \b PDynLinker (Dynamic link handler) classes. 
     35 
     36*/
     37
     38/*!
     39  \class SOPHYA::SophyaInitiator
     40  \ingroup SysTools
     41  Each Sophya module may contain an initialiser class which should
     42  be a sub-class of SophyaInitiator. 
     43*/
    2044
    2145SophyaInitiator::SophyaInitiator()
  • trunk/SophyaLib/BaseTools/sophyainit.h

    r754 r913  
    1212double SophyaVersion(void); /* Version + (Revision/1000) */
    1313
    14 // Classe d''initialisation pour les modules de PEIDA++
     14// Classe d''initialisation pour les modules SOPHYA
    1515
     16//! Initializer class for sophya modules
    1617class SophyaInitiator {
    1718private:
  • trunk/SophyaLib/BaseTools/srandgen.c

    r851 r913  
    3535*/
    3636
     37/*! \defgroup RandGen
     38    Random number generators */
     39
     40/*! \ingroup  SysTools
     41    \fn frand01
     42    Returns a random number (float) with flat distribution between 0 ... 1
     43*/
     44/*! \ingroup  SysTools
     45    \fn drand01
     46    Returns a random number (double) with flat distribution between 0 ... 1
     47*/
     48/*! \ingroup  SysTools
     49    \fn frandpm1()
     50    Returns a random number (float) with flat distribution between -1 ... 1
     51*/
     52/*! \ingroup  SysTools
     53    \fn drandpm1()
     54    Returns a random number (double) with flat distribution between -1 ... 1 
     55*/
     56
    3757/*=========================================================================*/
    3858/*
     
    4363--
    4464*/
     65
     66/*! \ingroup  SysTools
     67    Fast initialisation of the random number generator \c (drand48)
     68    using a \c long type value (cf \c srand48 )
     69*/
    4570void Ini_Ranf_Quick(long seed_val, int lp)
    4671{
     
    5782        48 bits (cf seed48).
    5883--
     84*/
     85/*! \ingroup  SysTools
     86    complete initialisation of the random number generator \c (drand48)
     87    using a \c using 48 bits (cf \c seed48 )
    5988*/
    6089void Ini_Ranf(unsigned short seed_16v[3], int lp)
     
    73102        de 48 bits (cf seed48).
    74103--
     104*/
     105/*! \ingroup  SysTools
     106    Returns the status (48 bits) of the random number generator \c (drand48)
     107    (cf \c seed48 )
    75108*/
    76109void Get_Ranf(unsigned short seed_16v[3], int lp)
     
    102135--
    103136*/
     137/*! \ingroup  SysTools
     138    Automatic initialisation using the present time
     139*/
    104140void Auto_Ini_Ranf(int lp)
    105141{
     
    151187--
    152188*/
     189/*! \ingroup  SysTools
     190    Normal (Gaussian) random number generator (Mean=0., Sigma=1.)
     191*/
    153192float NorRand(void)
    154193{
     
    190229        Generation aleatoire gaussienne de centre "am" et de sigma "s".
    191230--
     231*/
     232/*! \ingroup  SysTools
     233    Normal (Gaussian) random number generator with the specified mean
     234    (\c am ) and sigma (\c s )
    192235*/
    193236double GauRnd(double am, double s)
  • trunk/SophyaLib/SUtils/datacards.cc

    r895 r913  
    1 // $Id: datacards.cc,v 1.2 2000-04-12 17:49:42 ansari Exp $
     1// $Id: datacards.cc,v 1.3 2000-04-13 15:58:38 ansari Exp $
    22//
    33// Datacards, acquisition EROS II
     
    3838/*!
    3939    \class SOPHYA::DataCards
     40    \ingroup SysTools
    4041    This class can be used for decoding program parameters from an ascii
    4142    file. Each line of the ascii contains a keyword starting with \b @ .
  • trunk/SophyaLib/SysTools/ctimer.cc

    r895 r913  
    11//
    2 // $Id: ctimer.cc,v 1.3 2000-04-12 17:49:40 ansari Exp $
     2// $Id: ctimer.cc,v 1.4 2000-04-13 15:58:37 ansari Exp $
    33//
    44
     
    3939/*!
    4040  \class SOPHYA::Timer
     41  \ingroup SysTools
    4142  This class implements a simple chronometer which can be used for
    4243  measuring the CPU and elapsed time in functions. The constructor
  • trunk/SophyaLib/SysTools/pdlmgr.cc

    r895 r913  
    1 // This may look like C code, but it is really -*- C++ -*-
    21// Gestionnaire de lien dynamique   -   R. Ansari 12/98
    32// LAL (Orsay) / IN2P3-CNRS  DAPNIA/SPP (Saclay) / CEA
    43
     4#include "pdlmgr.h"
    55#include <stdio.h>
    66#include <stdlib.h>
     
    88#include <iostream.h>
    99
    10 #include "pdlmgr.h"
    1110
    1211// Extension de noms de fichiers Shared libs
     
    2019/*!
    2120  \class SOPHYA::PDynLinkMgr
     21  \ingroup SysTools
    2222  This classes handles the run-time operations related to using shared
    2323  libraries. The present version has been adapted for different Unix
    2424  flavours (Linux, Compaq/Digital Unix, SGI IRIX, IBM AIX, Sun Solaris).
     25  The example here the linking of shared library named "mylib.so"
     26  containing a function \c double \c myfunction(double x).
     27  \code
     28  #include "pdlmgr.h"
     29  typedef double (* AFunctionOfX) (double x);
     30  {
     31  // ...
     32  string soname = "mylib.so";
     33  string funcname = "myfunction";
     34  PDynLinkMgr dyl(son);
     35  AFunctionOfX f = (AFunctionOfX)dyl.GetFunction(funcname);
     36  double x = 3.1425;
     37  if (f != NULL)
     38    cout << " X= " << x << " myfunction(x)=" << f(x) << endl;
     39  // ...
     40  }
     41  \endcode
    2542*/
    2643
  • trunk/SophyaLib/SysTools/periodic.cc

    r241 r913  
    99
    1010#include "periodic.h"
     11/*!
     12  \class SOPHYA::Periodic
     13  \ingroup SysTools
     14  This class provide the service of calling a given function at
     15  regular intervals. It can also be subclassed with the method
     16  \b DoPeriodic redefined to perform a periodic action.
     17*/
    1118
    1219/* --Methode-- */
     20/*! Constructor with the definition of the interval (in seconds)
     21  and an optional user action */
    1322Periodic::Periodic(int dt, UsPeriodicAction act, void * usp)
    1423{
     
    2938
    3039/* --Methode-- */
     40/*! Sets the user action function and its data \c usp */
    3141void Periodic::SetAction(UsPeriodicAction act, void * usp)
    3242{
     
    3646
    3747/* --Methode-- */
     48/*! Changes the interval \c dt specified in seconds */
    3849void Periodic::SetInterval(int dt)
    3950{
     
    4455
    4556/* --Methode-- */
     57/*! Changes the interval \c dtms specified in milli-seconds */
    4658void Periodic::SetIntervalms(int dtms)
    4759{
     
    5365
    5466/* --Methode-- */
     67/*! Activate the object */
    5568void Periodic::Start(int dt)
    5669{
     
    6982
    7083/* --Methode-- */
     84/*! Deactivate the object */
    7185void Periodic::Stop()
    7286{
     
    86100
    87101/* --Methode-- */
     102/*! This method should be redefined for sub-classes of Periodic
     103  The default implementation calls the user action function */
    88104void Periodic::DoPeriodic()
    89105{
  • trunk/SophyaLib/SysTools/psighand.cc

    r706 r913  
    99static bool sigprstate[6] = {false, false, false, false, false, false};
    1010
    11 void PeidaProcessSignal(int s);
     11void SophyaProcessSignal(int s);
    1212
    1313/* Nouvelle-Fonction */
    14 void PeidaConfigureSignalhandling(bool cfpe, bool csegv, bool cint, bool cquit, bool cusr1, bool cusr2)
     14/*!\ingroup  SysTools
     15   Configures signal handling. When the flag is true, an exception
     16   \b CaughtSignalExc is thrown with the excpetion id set to the
     17   signal id. With the flag is false, the default signal handling
     18   is restored.
     19   \param cfpe : Floating point exception \c SIGFPE
     20   \param csegv : Segmentation fault \c SIGSEGV
     21   \param cint : Interrupt signal \c SIGINT
     22   \param cquit : Quit signal \c SIGINT
     23   \param cusr1 : User signal 1 \c SIGUSR1
     24   \param cusr2 : User signal 1 \c SIGUSR2
     25*/
     26void SOPHYA::SophyaConfigureSignalhandling(bool cfpe, bool csegv, bool cint, bool cquit, bool cusr1, bool cusr2)
    1527{
    1628  struct sigaction ae, ad;
    1729
    18   ae.sa_handler = PeidaProcessSignal;
     30  ae.sa_handler = SophyaProcessSignal;
    1931  ad.sa_handler = SIG_DFL;
    2032  memset( &(ae.sa_mask), 0, sizeof(sigset_t) );
     
    3143    if (cfpe)   {
    3244      sigaction(SIGFPE, &ae, NULL);
    33       puts("PeidaConfigureSignalhandling(): Activating SIGFPE handling (-> throw) ...");
     45      puts("SophyaConfigureSignalhandling(): Activating SIGFPE handling (-> throw) ...");
    3446      }
    3547    else  {
    3648      sigaction(SIGFPE, &ad, NULL);
    37       puts("PeidaConfigureSignalhandling(): Back to default SIGFPE handling ...");
     49      puts("SophyaConfigureSignalhandling(): Back to default SIGFPE handling ...");
    3850      }
    3951    sigprstate[0] = cfpe;
     
    4355    if (csegv)   {
    4456      sigaction(SIGSEGV, &ae, NULL);
    45       puts("PeidaConfigureSignalhandling(): Activating SIGSEGV handling (-> throw) ...");
     57      puts("SophyaConfigureSignalhandling(): Activating SIGSEGV handling (-> throw) ...");
    4658      }
    4759    else  {
    4860      sigaction(SIGSEGV, &ad, NULL);
    49       puts("PeidaConfigureSignalhandling(): Back to default SIGSEGV handling ...");
     61      puts("SophyaConfigureSignalhandling(): Back to default SIGSEGV handling ...");
    5062      }
    5163    sigprstate[1] = csegv;
     
    5668    if (cint)   {
    5769      sigaction(SIGINT, &ae, NULL);
    58       puts("PeidaConfigureSignalhandling(): Activating SIGINT handling (-> throw) ...");
     70      puts("SophyaConfigureSignalhandling(): Activating SIGINT handling (-> throw) ...");
    5971      }
    6072    else  {
    6173      sigaction(SIGINT, &ad, NULL);
    62       puts("PeidaConfigureSignalhandling(): Back to default SIGINT handling ...");
     74      puts("SophyaConfigureSignalhandling(): Back to default SIGINT handling ...");
    6375      }
    6476    sigprstate[2] = cint;
     
    6981    if (cquit)   {
    7082      sigaction(SIGQUIT, &ae, NULL);
    71       puts("PeidaConfigureSignalhandling(): Activating SIGQUIT handling (-> throw) ...");
     83      puts("SophyaConfigureSignalhandling(): Activating SIGQUIT handling (-> throw) ...");
    7284      }
    7385    else  {
    7486      sigaction(SIGQUIT, &ad, NULL);
    75       puts("PeidaConfigureSignalhandling(): Back to default SIGQUIT handling ...");
     87      puts("SophyaConfigureSignalhandling(): Back to default SIGQUIT handling ...");
    7688      }
    7789    sigprstate[3] = cquit;
     
    8294    if (cusr1)   {
    8395      sigaction(SIGUSR1, &ae, NULL);
    84       puts("PeidaConfigureSignalhandling(): Activating SIGUSR1 handling (-> throw) ...");
     96      puts("SophyaConfigureSignalhandling(): Activating SIGUSR1 handling (-> throw) ...");
    8597      }
    8698    else  {
    8799      sigaction(SIGUSR1, &ad, NULL);
    88       puts("PeidaConfigureSignalhandling(): Back to default SIGUSR1 handling ...");
     100      puts("SophyaConfigureSignalhandling(): Back to default SIGUSR1 handling ...");
    89101      }
    90102    sigprstate[4] = cusr1;
     
    94106    if (cusr2)   {
    95107      sigaction(SIGUSR2, &ae, NULL);
    96       puts("PeidaConfigureSignalhandling(): Activating SIGUSR2 handling (-> throw) ...");
     108      puts("SophyaConfigureSignalhandling(): Activating SIGUSR2 handling (-> throw) ...");
    97109      }
    98110    else  {
    99111      sigaction(SIGUSR2, &ad, NULL);
    100       puts("PeidaConfigureSignalhandling(): Back to default SIGUSR2 handling ...");
     112      puts("SophyaConfigureSignalhandling(): Back to default SIGUSR2 handling ...");
    101113      }
    102114    sigprstate[5] = cusr2;
     
    104116}
    105117/* Nouvelle-Fonction */
    106 void PeidaProcessSignal(int s)
     118void SophyaProcessSignal(int s)
    107119{
    108120string msg;
     
    110122  {
    111123  case SIGFPE :
    112     puts("PeidaProcessSignal: ###Signal SIGFPE catched, throw catchedSIGFPE ###");
     124    puts("SophyaProcessSignal: ###Signal SIGFPE catched, throw catchedSIGFPE ###");
    113125    msg = "Caught SIGFPE";
    114126    throw ( CaughtSignalExc(msg, s) );
    115127  case SIGSEGV :
    116     puts("PeidaProcessSignal: ###Signal SIGSEGV catched, throw catchedSIGSEGV ###");
     128    puts("SophyaProcessSignal: ###Signal SIGSEGV catched, throw catchedSIGSEGV ###");
    117129    msg = "Caught SIGSEGV";
    118130    throw ( CaughtSignalExc(msg, s) );
    119131  case SIGINT :
    120     puts("PeidaProcessSignal: ###Signal SIGINT catched, throw catchedSIGINT ###");
     132    puts("SophyaProcessSignal: ###Signal SIGINT catched, throw catchedSIGINT ###");
    121133    msg = "Caught SIGINT";
    122134    throw ( CaughtSignalExc(msg, s) );
    123135  case SIGQUIT :
    124     puts("PeidaProcessSignal: ###Signal SIGQUIT catched, throw catchedSIGQUIT ###");
     136    puts("SophyaProcessSignal: ###Signal SIGQUIT catched, throw catchedSIGQUIT ###");
    125137    msg = "Caught SIGQUIT";
    126138    throw ( CaughtSignalExc(msg, s) );
    127139  case SIGUSR1 :
    128     puts("PeidaProcessSignal: ###Signal SIGUSR1 catched, throw catchedSIGUSR1 ###");
     140    puts("SophyaProcessSignal: ###Signal SIGUSR1 catched, throw catchedSIGUSR1 ###");
    129141    msg = "Caught SIGUSR1";
    130142    throw ( CaughtSignalExc(msg, s) );
    131143  case SIGUSR2 :
    132     puts("PeidaProcessSignal: ###Signal SIGUSR2 catched, throw catchedSIGUSR2 ###");
     144    puts("SophyaProcessSignal: ###Signal SIGUSR2 catched, throw catchedSIGUSR2 ###");
    133145    msg = "Caught SIGUSR2";
    134146    throw ( CaughtSignalExc(msg, s) );
    135147  default :
    136     printf("PeidaProcessSignal: ###Signal %d catched, throw  inconsistentErr ### \n", s);
     148    printf("SophyaProcessSignal: ###Signal %d catched, throw  inconsistentErr ### \n", s);
    137149    msg = "Caught SIG???";
    138150    throw ( CaughtSignalExc(msg, s) );
  • trunk/SophyaLib/SysTools/psighand.h

    r480 r913  
    22//  Pour la gestion des signaux a travers des exceptions
    33
    4 #ifndef PSIGHANDLE_SEEN
    5 #define PSIGHANDLE_SEEN
     4#ifndef SOPHYASIGHANDLE_SEEN
     5#define SOPHYASIGHANDLE_SEEN
    66
    77#include "machdefs.h"
    8 void PeidaConfigureSignalhandling(bool cfpe=false, bool csegv=false,
    9                                   bool cint=false, bool cquit=false,
    10                                   bool cusr1=false, bool cusr2=false);
     8
     9namespace SOPHYA {
     10void SophyaConfigureSignalhandling(bool cfpe=false, bool csegv=false,
     11                                   bool cint=false, bool cquit=false,
     12                                   bool cusr1=false, bool cusr2=false);
     13} // namespace SOPHYA
     14
    1115#endif
Note: See TracChangeset for help on using the changeset viewer.