Changeset 3049 in Sophya for trunk/SophyaLib/HiStats


Ignore:
Timestamp:
Aug 11, 2006, 6:10:13 PM (19 years ago)
Author:
cmv
Message:

Fits IO Histo,HProf,HistErr,Histo2D cmv 11/8/2006

Location:
trunk/SophyaLib/HiStats
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/HiStats/hisprof.h

    r2507 r3049  
    1010namespace SOPHYA {
    1111
     12template <class T>  class FitsHandler;
     13
    1214//! 1 dimension profile histograms
    1315class HProf : public Histo {
    1416  friend class ObjFileIO<HProf>;
     17  friend class FitsHandler<Histo>;
    1518public:
    1619
  • trunk/SophyaLib/HiStats/histerr.cc

    r3044 r3049  
    1717/*! Constructeur par defaut */
    1818HistoErr::HistoErr(void)
    19 : Histo(), mNData(NULL)
     19  : Histo(), mNData(NULL), mCorrel(0)
    2020{
    2121}
     
    2424/*! Constructeur d'un histo de nBin bins allant de xMin a xMax */
    2525HistoErr::HistoErr(r_8 xMin, r_8 xMax, int_4 nBin)
    26 : Histo(xMin,xMax,nBin), mNData(NULL)
     26: Histo(xMin,xMax,nBin), mNData(NULL), mCorrel(0)
    2727{
    2828 this->Errors();
     
    3434/*! Constructeur par copie */
    3535HistoErr::HistoErr(const HistoErr& H)
    36 : Histo(H), mNData(NULL)
     36: Histo(H), mNData(NULL), mCorrel(H.mCorrel)
    3737{
    3838 allocate_mNData(H.mBins);
     
    7272 Histo::Zero();
    7373 if(mNData) memset(mNData,0,mBins*sizeof(r_8));
     74 mCorrel = 0;
    7475}
    7576
     
    128129{
    129130 if(mBins<1) return;
     131 mCorrel++;
    130132 for(int_4 i=0;i<mBins;i++) {
    131133   if(mNData[i]<1.) continue;
     
    143145{
    144146 if(mBins<1) return;
     147 mCorrel--;
    145148 for(int_4 i=0;i<mBins;i++) {
    146149   if(mNData[i]<1.) continue;
     
    174177   }
    175178 }
     179 mCorrel = hfrom.mCorrel;
    176180
    177181}
     
    192196  allocate_mNData(h.mBins);
    193197  memcpy(mNData,h.mNData,mBins*sizeof(r_8));
     198  mCorrel = h.mCorrel;
    194199
    195200  return *this;
     
    213218is.GetStr(strg);
    214219
     220// Nombre d'appels a ToCorrel/FromCorrel
     221is.Get(dobj->mCorrel);
     222
    215223// Lecture des donnees HistoErr
    216224is.Get(dobj->mBins);
     
    230238string strg;
    231239
     240// Ecriture entete
    232241strg = "HistErr";
    233242os.PutStr(strg);
     243
     244// Nombre d'appels a ToCorrel/FromCorrel
     245os.Put(dobj->mCorrel);
    234246
    235247// Ecriture des valeurs
  • trunk/SophyaLib/HiStats/histerr.h

    r3044 r3049  
    99namespace SOPHYA {
    1010
     11//  Forward class declaration for Fits handler
     12template <class T>  class FitsHandler;
     13
    1114//! 1 dimension histograms with errors given by user
    1215class HistoErr : public Histo {
    1316  friend class ObjFileIO<HistoErr>;
     17  friend class FitsHandler<Histo>;
    1418public:
    1519
     
    6670  void ToCorrel(void);
    6771  void FromCorrel(void);
     72  int_4 NCorrel(void) {return mCorrel;}
    6873
    6974  //! Fill an histogram with an histogram
     
    7883
    7984  r_8* mNData;    //!< nombre d'entrees dans chaque bin
     85  int_4 mCorrel;  //!< Nombre d'appels a ToCorrel(+1) ou FromCorrel(-1)
    8086};
    8187
  • trunk/SophyaLib/HiStats/histos.h

    r3044 r3049  
    11// This may look like C code, but it is really -*- C++ -*-
    22//
    3 // $Id: histos.h,v 1.21 2006-08-07 17:38:47 cmv Exp $
     3// $Id: histos.h,v 1.22 2006-08-11 16:10:13 cmv Exp $
    44//
    55
     
    1717namespace SOPHYA {
    1818
     19//  Forward class declaration for Fits handler
     20template <class T>  class FitsHandler;
     21
    1922//! 1 dimension histograms
    2023class Histo : public AnyDataObj {
    2124  friend class ObjFileIO<Histo>;
     25  friend class FitsHandler<Histo>;
    2226public:
    2327
  • trunk/SophyaLib/HiStats/histos2.h

    r2507 r3049  
    2020namespace SOPHYA {
    2121
     22//  Forward class declaration for Fits handler
     23template <class T>  class FitsHandler;
     24
    2225//! 2 dimensions histograms
    2326class Histo2D : public AnyDataObj {
    2427  friend class ObjFileIO<Histo2D>;
     28  friend class FitsHandler<Histo2D>;
    2529public:
    2630
Note: See TracChangeset for help on using the changeset viewer.