Changeset 914 in Sophya for trunk/SophyaLib/NTools/generaldata.h


Ignore:
Timestamp:
Apr 13, 2000, 6:04:50 PM (25 years ago)
Author:
ansari
Message:

documentation cmv 13/4/00

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/NTools/generaldata.h

    r552 r914  
    1919//================================================================
    2020
     21/*!
     22  Classe de stoquage de donnees a plusieurs variables avec erreur
     23  sur l'ordonnee et sur les abscisses (options) :
     24
     25  \f$ {x0(i),Ex0(i), x1(i),Ex1(i), x2(i),Ex2(i) ... ; Y(i),EY(i)} \f$
     26  \verbatim
     27   Pour memoire, structure du rangement (n=mNVar):
     28   - Valeur des abscisses mXP (idem pour mErrXP):
     29     x0,x1,x2,...,xn   x0,x1,x2,...,xn  ....  x0,x1,x2,....,xn
     30     |  1er point  |   |  2sd point  |  ....  | point mNData |
     31     Donc abscisse J=[0,mNVar[ du point numero I=[0,mNData[: mXP[I*mNVar+J]
     32   - Valeur de l'ordonnee mF (idem pour mErr et mOK):
     33            f                f                      f
     34     |  1er point  |  |  2sd point  |  .... | point mNData |
     35     Donc point numero I [0,mNData[ : mF[i]
     36  \endverbatim
     37*/
     38
    2139class GeneralFitData : public AnyDataObj , public NTupleInterface {
    2240  friend class GeneralFit;
    2341  friend class ObjFileIO<GeneralFitData>;
    2442public:
    25   enum {Def_ErrF = 1, Def_ErrX = 0};
     43  //! Valeurs par defaut pour l'utilisation des erreurs
     44  enum {
     45    Def_ErrF = 1, //!< erreurs sur F par defaut
     46    Def_ErrX = 0  //!< pas d'erreurs sur les variables X,Y,... par defaut
     47    };
    2648
    2749  GeneralFitData(unsigned int nVar, unsigned int nDataAlloc, uint_2 errx=0);
     
    6789  inline void Show() const {Show(cout);}
    6890
     91  //! Retourne la place restante dans la structure (nombre de donnees que l'on peut encore stoquer).
    6992  inline int GetSpaceFree() const { return mNDataAlloc - mNData; }
     93  //! Retourne le nombre de variables Xi
    7094  inline int NVar()       const {return mNVar;}
     95  //! Retourne le nombre de donnees
    7196  inline int NData()      const {return mNData;}
     97  //! Retourne le nombre de bonnes donnees (utilisees pour le fit)
    7298  inline int NDataGood()  const {return mNDataGood;}
     99  //! Retourne la place maximale allouee pour les donnees
    73100  inline int NDataAlloc() const {return mNDataAlloc;}
    74101
     102  //! Retourne 1 si point valide, sinon 0
    75103  inline unsigned short int IsValid(int i) const
    76104                {if(i>=0 && i<mNData) return mOK[i]; else return 0;}
     105  //! Retourne ``true'' si il y a des erreurs sur les variables d'abscisse, ``false'' sinon.
    77106  inline bool HasXErrors() {if(mErrXP) return true; else return false;}
    78107
     108  //! Retourne l'abscisse pour 1 dimension (y=f(x)) donnee I
    79109  inline double X1(int i) const
    80110                {if(i>=0 && i<mNData) return mXP[i]; else return 0.;}
     111  //! Retourne la 1er abscisse (X) pour (v=f(x,y,z,...)) donnee I
    81112  inline double X(int i) const
    82113                {if(i>=0 && i<mNData) return mXP[i*mNVar]; else return 0.;}
     114  //! Retourne la 2sd abscisse (Y) pour (v=f(x,y,z,...)) donnee I
    83115  inline double Y(int i) const
    84116                {if(i>=0 && i<mNData && 1<mNVar) return mXP[i*mNVar+1]; else return 0.;}
     117  //! etourne la 3ieme abscisse (Z) pour (v=f(x,y,z,...)) donnee I
    85118  inline double Z(int i) const
    86119                {if(i>=0 && i<mNData && 2<mNVar) return mXP[i*mNVar+2]; else return 0.;}
     120  //! Retourne la Jieme abscisse (Xj) pour (v=f(x0,x1,x2,...)) donnee I
    87121  inline double Absc(int j,int i) const
    88122                {if(i>=0 && i<mNData && j<mNVar)return mXP[i*mNVar+j]; else return 0.;}
     123  //! Retourne la valeur de la Ieme donnee
    89124  inline double Val(int i) const
    90125                {if(i>=0 && i<mNData) return mF[i]; else return 0.;}
    91126
     127  //! Retourne l'erreur (dx) sur l'abscisse pour 1 dimension (y=f(x)) donnee I
    92128  inline double EX1(int i) const
    93129                {if(mErrXP && i>=0 && i<mNData) return mErrXP[i]; else return 0.;}
     130  //! Retourne l'erreur (dx) sur la 1er abscisse (X) pour (v=f(x,y,z,...)) donnee I
    94131  inline double EX(int i) const
    95132                {if(mErrXP && i>=0 && i<mNData) return mErrXP[i*mNVar]; else return 0.;}
     133  //! Retourne l'erreur (dy) sur la 2sd abscisse (Y) pour (v=f(x,y,z,...)) donnee I
    96134  inline double EY(int i) const
    97135                {if(mErrXP && i>=0 && i<mNData && 1<mNVar) return mErrXP[i*mNVar+1];
    98136                 else return 0.;}
     137  //! Retourne l'erreur (dz) sur la 3ieme abscisse (Z) pour (v=f(x,y,z,...)) donnee I
    99138  inline double EZ(int i) const
    100139                {if(mErrXP && i>=0 && i<mNData && 2<mNVar) return mErrXP[i*mNVar+2];
    101140                 else return 0.;}
     141  //! Retourne l'erreur (dxj) sur la Jieme abscisse (Xj) pour (v=f(x0,x1,x2,...)) donnee I
    102142  inline double EAbsc(int j,int i) const
    103143                {if(mErrXP && i>=0 && i<mNData && j<mNVar) return mErrXP[i*mNVar+j];
    104144                 else return 0.;}
     145  //! Retourne l'erreur de la Ieme donnee
    105146  inline double EVal(int i) const
    106147                {if(i>=0 && i<mNData) return mErr[i]; else return 0.;}
     
    139180  int_4   mNDataGood;
    140181  uint_2  mOk_EXP;
    141   r_8* mXP;             // x0 y0 z0, x1 y1 z1, ..., xn yn zn
    142   r_8* mErrXP;          // Ex0 Ey0 Ez0, Ex1 Ey1 Ez1, ..., Exn Eyn Ezn
    143   r_8* mF;              // F0, F1, ...., Fn
    144   r_8* mErr;            // EF0, EF1, ...., EFn
    145   uint_2* mOK; // 1 si pt valid, 0 sinon
     182  r_8* mXP;             //!< x0 y0 z0, x1 y1 z1, ..., xn yn zn
     183  r_8* mErrXP;          //!< Ex0 Ey0 Ez0, Ex1 Ey1 Ez1, ..., Exn Eyn Ezn
     184  r_8* mF;              //!< F0, F1, ...., Fn
     185  r_8* mErr;            //!< EF0, EF1, ...., EFn
     186  uint_2* mOK;          //!< 1 si pt valid, 0 sinon
    146187  r_8* BuffVar;
    147188  r_4* BuffVarR4;
Note: See TracChangeset for help on using the changeset viewer.