Changeset 3123 in Sophya for trunk/SophyaLib/HiStats
- Timestamp:
- Jan 10, 2007, 12:53:57 PM (19 years ago)
- Location:
- trunk/SophyaLib/HiStats
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/HiStats/Makefile
r3121 r3123 173 173 $(SOPHYAINCP)sopnamsp.h \ 174 174 $(SOPHYAINCP)machdefs.h \ 175 histinit.h \ 176 $(SOPHYAINCP)ntoolsinit.h \ 177 $(SOPHYAINCP)tarrinit.h \ 178 $(SOPHYAINCP)sophyainit.h \ 179 $(SOPHYAINCP)machdefs.h \ 175 $(SOPHYAINCP)perrors.h \ 176 $(SOPHYAINCP)pexceptions.h \ 177 $(SOPHYAINCP)machdefs.h \ 178 $(SOPHYAINCP)fioarr.h \ 179 $(SOPHYAINCP)tarray.h \ 180 $(SOPHYAINCP)basarr.h \ 181 $(SOPHYAINCP)anydataobj.h \ 182 $(SOPHYAINCP)mutyv.h \ 183 $(SOPHYAINCP)timestamp.h \ 184 $(SOPHYAINCP)objfio.h \ 185 $(SOPHYAINCP)ppersist.h \ 186 $(SOPHYAINCP)gnumd5.h \ 187 $(SOPHYAINCP)ppfbinstream.h \ 188 $(SOPHYAINCP)rawstream.h \ 189 $(SOPHYAINCP)ppfnametag.h \ 190 $(SOPHYAINCP)dvlist.h \ 191 $(SOPHYAINCP)ndatablock.h \ 192 $(SOPHYAINCP)utilarr.h \ 193 $(SOPHYAINCP)tmatrix.h \ 194 $(SOPHYAINCP)tmatrix_tsnl.h \ 195 $(SOPHYAINCP)tvector.h \ 196 $(SOPHYAINCP)tvector_tsnl.h \ 180 197 histerr.h $(SOPHYAINCP)objfio.h \ 181 $(SOPHYAINCP)anydataobj.h \ 182 $(SOPHYAINCP)ppersist.h \ 183 $(SOPHYAINCP)pexceptions.h \ 184 $(SOPHYAINCP)gnumd5.h \ 185 $(SOPHYAINCP)ppfbinstream.h \ 186 $(SOPHYAINCP)rawstream.h \ 187 $(SOPHYAINCP)ppfnametag.h \ 188 histos.h $(SOPHYAINCP)peida.h \ 189 $(SOPHYAINCP)utils.h \ 190 $(SOPHYAINCP)perrors.h \ 191 $(SOPHYAINCP)fmath.h \ 192 $(SOPHYAINCP)tvector.h \ 193 $(SOPHYAINCP)tmatrix.h \ 194 $(SOPHYAINCP)tarray.h \ 195 $(SOPHYAINCP)basarr.h \ 196 $(SOPHYAINCP)mutyv.h \ 197 $(SOPHYAINCP)timestamp.h \ 198 $(SOPHYAINCP)objfio.h \ 199 $(SOPHYAINCP)dvlist.h \ 200 $(SOPHYAINCP)ndatablock.h \ 201 $(SOPHYAINCP)utilarr.h \ 202 $(SOPHYAINCP)tmatrix_tsnl.h \ 203 $(SOPHYAINCP)tvector_tsnl.h \ 204 $(SOPHYAINCP)ppersist.h \ 205 $(SOPHYAINCP)anydataobj.h \ 206 $(SOPHYAINCP)perrors.h 198 $(SOPHYAINCP)tvector.h 207 199 $(CXXCOMPILE) $(CXXTEMPFLG) -o $@ histerr.cc 208 200 -
trunk/SophyaLib/HiStats/hist2err.h
r3121 r3123 9 9 namespace SOPHYA { 10 10 11 // Forward class declaration for Fits handler 12 template <class T> class FitsHandler; 13 11 14 //! 2 dimensions histograms with errors given by user 12 15 class Histo2DErr : public AnyDataObj { 13 16 friend class ObjFileIO<Histo2DErr>; 17 friend class FitsHandler<Histo2DErr>; 14 18 public: 15 19 … … 40 44 { 41 45 if(i<0 || i>=nx_ || j<0 || j>=ny_) return 0.; 46 return data_(i,j); 47 } 48 inline r_8& operator()(int_4 i,int_4 j) 49 { 42 50 return data_(i,j); 43 51 } … … 89 97 inline void AddBin(int_4 i,int_4 j) {AddBin(i,j,1.,1.);} 90 98 91 //! remplissage contenu de l'histo pour le bin numBinpoids w et l'erreur e99 //! remplissage contenu de l'histo pour le bin i poids w et l'erreur e 92 100 inline void SetBin(int_4 i,int_4 j, r_8 w, r_8 e, r_8 nb) 93 101 { … … 100 108 inline void SetBin(int_4 i,int_4 j, r_8 w) {SetBin(i,j,w,1.,1.);} 101 109 inline void SetBin(int_4 i,int_4 j) {SetBin(i,j,1.,1.,1.);} 102 //! remplissage nombre d'entrees pour le bin numBin 110 //! remplissage de l'erreur carree pour le bin i 111 void SetErr2(int_4 i,int_4 j, r_8 e2) 112 { 113 if(i<0 || i>=nx_) return; 114 err2_(i,j) = e2; 115 } 116 //! remplissage nombre d'entrees pour le bin i 103 117 void SetNentB(int_4 i,int_4 j, r_8 nb) 104 118 { -
trunk/SophyaLib/HiStats/histerr.cc
r3057 r3123 4 4 #include <stdio.h> 5 5 #include <math.h> 6 #include "histinit.h" 6 #include "perrors.h" 7 #include "fioarr.h" 7 8 #include "histerr.h" 8 #include "perrors.h"9 9 10 10 /*! … … 17 17 /*! Constructeur par defaut */ 18 18 HistoErr::HistoErr(void) 19 : Histo(), mNData(NULL), mCorrel(0) 20 { 21 } 22 23 /********* Methode *********/ 24 /*! Constructeur d'un histo de nBin bins allant de xMin a xMax */ 25 HistoErr::HistoErr(r_8 xMin, r_8 xMax, int_4 nBin) 26 : Histo(), mNData(NULL) 27 { 28 CreateOrResize(xMin,xMax,nBin); 19 : xmin_(1.), xmax_(-1.), nx_(0), dx_(0.) 20 , mCorrel(0) 21 { 22 } 23 24 /********* Methode *********/ 25 /*! Constructeur d'un histo */ 26 HistoErr::HistoErr(r_8 xmin,r_8 xmax,int_4 nx) 27 : mCorrel(0) 28 { 29 CreateOrResize(xmin,xmax,nx); 29 30 } 30 31 … … 32 33 /*! Constructeur par copie */ 33 34 HistoErr::HistoErr(const HistoErr& H) 34 : Histo(H), mNData((H.mBins>0)? new r_8[H.mBins] : NULL), mCorrel(H.mCorrel) 35 { 36 if(mNData>0) memcpy(mNData,H.mNData,mBins*sizeof(r_8)); 35 : mCorrel(H.mCorrel) 36 { 37 if(H.nx_<=0) return; 38 CreateOrResize(H.xmin_,H.xmax_,H.nx_); 39 data_ = H.data_; 40 err2_ = H.err2_; 41 ndata_ = H.ndata_; 37 42 } 38 43 … … 41 46 HistoErr::~HistoErr(void) 42 47 { 43 Delete();48 mCorrel = 0; 44 49 } 45 50 46 51 /********* Methode *********/ 47 52 /*! Gestion de l'allocation */ 48 void HistoErr::CreateOrResize(r_8 x Min, r_8 xMax, int_4 nBin)49 { 50 //cout<<"HistoErr::CreateOrResize()"<<endl;51 bool samelen = (nBin==mBins)? true: false;52 Histo::CreateOrResize(xMin,xMax,nBin);53 Histo::Errors();54 if(mNData!=NULL && !samelen) {delete [] mNData; mNData=NULL;}55 if(nBin>0 && mNData==NULL) mNData = new r_8[nBin];56 if(mNData) memset(mNData,0,nBin*sizeof(r_8));53 void HistoErr::CreateOrResize(r_8 xmin,r_8 xmax,int_4 nx) 54 { 55 xmin_ = xmin; xmax_ = xmax; nx_ = nx; dx_=0.; 56 if(nx_>0) { 57 data_.ReSize(nx_); data_ = 0.; 58 err2_.ReSize(nx_); err2_ = 0.; 59 ndata_.ReSize(nx_); ndata_ = 0.; 60 dx_ = (xmax_-xmin_)/nx_; 61 } 57 62 mCorrel = 0; 58 63 } 59 64 60 65 /********* Methode *********/ 61 /*! Delete des tableaux */62 void HistoErr::Delete(void)63 {64 //cout<<"HistoErr::Delete()"<<endl;65 Histo::Delete();66 if(mNData) {delete [] mNData; mNData=NULL;}67 mCorrel = 0;68 }69 70 /********* Methode *********/71 66 /*! 72 67 Remise a zero … … 74 69 void HistoErr::Zero(void) 75 70 { 76 Histo::Zero(); 77 if(mNData) memset(mNData,0,mBins*sizeof(r_8)); 78 mCorrel = 0; 79 } 80 81 /********* Methode *********/ 82 /*! 83 Remplissage du contenu de l'histo pour le bin numBin poids w et l'erreur e 84 */ 85 void HistoErr::SetBin(int_4 numBin, r_8 w, r_8 e, r_8 nb) 86 { 87 Histo::SetBin(numBin,w); 88 Histo::SetErr2(numBin,e*e); 89 SetNentB(numBin,nb); 90 return; 91 } 92 93 /********* Methode *********/ 94 /*! 95 Remplissage nombre d'entrees pour le bin numBin 96 */ 97 void HistoErr::SetNentB(int_4 numBin, r_8 nb) 98 { 99 if(numBin>=0 && numBin<mBins) mNData[numBin] = nb; 100 return; 101 } 102 103 /*! 104 Remplissage d'un tableau avec les nombres d'entrees dans le bin de l'histo 105 */ 106 void HistoErr::GetNBin(TVector<r_8>& v) const 107 { 108 v.Realloc(mBins); 109 for(int_4 i=0;i<mBins;i++) v(i) = mNData[i]; 110 return; 111 } 112 113 /********* Methode *********/ 114 /*! 115 Remplissage du nombre d'entrees dans les bins de l'histo avec les valeurs d'un vecteur 116 */ 117 void HistoErr::PutNBin(TVector<r_8> &v) 118 { 119 int_4 n = (v.NElts()<mBins) ? v.NElts(): mBins; 120 if(n>0) for(int_4 i=0;i<n;i++) mNData[i] = v(i); 121 return; 71 if(nx_<=0) return; 72 data_ = 0.; 73 err2_ = 0.; 74 ndata_ = 0.; 75 } 76 77 /********* Methode *********/ 78 /*! 79 Recompute XMin (and XMax so that 80 the CENTER of the first bin is exactly XMin and 81 the CENTER of the last bin is exactly XMax. 82 Remember that otherwise 83 XMin is the beginning of the first bin 84 and XMax is the end of the last bin 85 */ 86 void HistoErr::ReCenterBin(void) 87 { 88 if(nx_<=1) return; 89 double dx = (xmax_-xmin_)/(nx_-1); 90 xmin_ -= dx/2.; 91 xmax_ += dx/2.; 92 dx_ = (xmax_-xmin_)/nx_; 122 93 } 123 94 … … 132 103 void HistoErr::ToCorrel(void) 133 104 { 134 if( mBins<1) return;105 if(nx_<1) return; 135 106 mCorrel++; 136 for(int_4 i=0;i< mBins;i++) {137 if( mNData[i]<1.) continue;138 mData[i] /= mNData[i];139 mErr2[i] /= mNData[i];107 for(int_4 i=0;i<nx_;i++) { 108 if(ndata_(i)<1.) continue; 109 data_(i) /= ndata_(i); 110 err2_(i) /= ndata_(i); 140 111 } 141 112 return; … … 148 119 void HistoErr::FromCorrel(void) 149 120 { 150 if( mBins<1) return;121 if(nx_<1) return; 151 122 mCorrel--; 152 for(int_4 i=0;i< mBins;i++) {153 if( mNData[i]<1.) continue;154 mData[i] *= mNData[i];155 mErr2[i] *= mNData[i];123 for(int_4 i=0;i<nx_;i++) { 124 if(ndata_(i)<1.) continue; 125 data_(i) *= ndata_(i); 126 err2_(i) *= ndata_(i); 156 127 } 157 128 return; … … 164 135 void HistoErr::FillFrHErr(HistoErr& hfrom) 165 136 { 166 if( mBins<=0) return;167 if(hfrom. mBins<=0) return;137 if(nx_<=0) return; 138 if(hfrom.nx_<=0) return; 168 139 169 140 Zero(); 170 141 171 for(int_4 i=0;i<hfrom.mBins;i++) { 172 int numBin = FindBin(hfrom.BinCenter(i)); 173 if(numBin<0) mUnder += hfrom.mData[i]; 174 else if(numBin>=mBins) mOver += hfrom.mData[i]; 175 else { 176 mData[numBin] += hfrom.mData[i]; 177 mNData[numBin] += hfrom.mNData[i]; 178 mErr2[numBin] += hfrom.mErr2[i]; 179 nHist += hfrom.mData[i]; 180 nEntries++; 181 } 142 for(int_4 i=0;i<hfrom.nx_;i++) { 143 r_8 x = hfrom.BinCenter(i); 144 int ii = FindBin(x); 145 if(ii<0 || ii>=nx_) continue; 146 data_(ii) += hfrom.data_(ii); 147 err2_(ii) += hfrom.err2_(ii); 148 ndata_(ii) += hfrom.ndata_(ii); 182 149 } 183 150 mCorrel = hfrom.mCorrel; … … 192 159 { 193 160 if(this==&h) return *this; 194 CreateOrResize(h.mMin,h.mMax,h.mBins); 195 if(mData) memcpy(mData,h.mData,mBins*sizeof(r_8)); 196 if(mErr2) memcpy(mErr2,h.mErr2,mBins*sizeof(r_8)); 197 mUnder = h.mUnder; mOver = h.mOver; 198 nHist = h.nHist; nEntries = h.nEntries; 199 if(mNData) memcpy(mNData,h.mNData,mBins*sizeof(r_8)); 161 CreateOrResize(h.xmin_,h.xmax_,h.nx_); 162 data_ = h.data_; 163 err2_ = h.err2_; 164 ndata_ = h.ndata_; 200 165 mCorrel = h.mCorrel; 201 202 166 return *this; 203 167 } … … 209 173 void HistoErr::Show(ostream & os) const 210 174 { 211 Histo::Show(os);212 os <<" ncorrel="<<mCorrel<<endl;175 os <<"HistoErr(ncorrel="<<mCorrel<<")"<<endl 176 <<" nx="<<nx_<<" ["<<xmin_<<","<<xmax_<<"] dx="<<dx_<<endl; 213 177 } 214 178 … … 224 188 string strg; 225 189 226 if(dobj==NULL) dobj=new HistoErr; 227 else dobj->Delete(); 190 if(dobj==NULL) dobj = new HistoErr; 228 191 229 192 // Lecture entete … … 233 196 is.Get(dobj->mCorrel); 234 197 235 // Lecture des donnees HistoErr 236 is.Get(dobj->mBins); 237 if(dobj->mBins>0) dobj->mNData = new r_8[dobj->mBins]; 238 is.Get(dobj->mNData, dobj->mBins); 239 240 // Lecture de l'histogramme 241 is >> (Histo&)(*dobj); 198 // Lecture des parametres HistoErr 199 is.Get(dobj->xmin_); 200 is.Get(dobj->xmax_); 201 is.Get(dobj->nx_); 202 is.Get(dobj->dx_); 203 204 // Lecture des donnees 205 if(dobj->nx_>0) { 206 is >> dobj->data_; 207 is >> dobj->err2_; 208 is >> dobj->ndata_; 209 } 242 210 243 211 return; … … 257 225 os.Put(dobj->mCorrel); 258 226 259 // Ecriture des valeurs 260 os.Put(dobj->mBins); 261 262 // Ecriture des donnees HistoErr nombre d entree par bin 263 os.Put(dobj->mNData, dobj->mBins); 264 265 // Ecriture de l'histogramme 266 os << (Histo&)(*dobj); 227 // Ecriture des parametres HistoErr 228 os.Put(dobj->xmin_); 229 os.Put(dobj->xmax_); 230 os.Put(dobj->nx_); 231 os.Put(dobj->dx_); 232 233 // Ecriture des donnees 234 if(dobj->nx_>0) { 235 os << dobj->data_; 236 os << dobj->err2_; 237 os << dobj->ndata_; 238 } 267 239 268 240 return; -
trunk/SophyaLib/HiStats/histerr.h
r3118 r3123 5 5 #include <iostream> 6 6 #include <stdio.h> 7 #include " histos.h"7 #include "tvector.h" 8 8 9 9 namespace SOPHYA { … … 12 12 template <class T> class FitsHandler; 13 13 14 //! 1 dimension histograms with errors given by user 15 class HistoErr : public Histo { 14 15 //! 1 dimensions histograms with errors given by user 16 class HistoErr : public AnyDataObj { 16 17 friend class ObjFileIO<HistoErr>; 17 friend class FitsHandler<Histo >;18 friend class FitsHandler<HistoErr>; 18 19 public: 19 20 20 // CREATOR / DESTRUCTOR21 //! Create or destroy 21 22 HistoErr(void); 22 HistoErr(r_8 x Min, r_8 xMax, int_4 nBin=100);23 HistoErr(r_8 xmin,r_8 xmax,int_4 nx); 23 24 HistoErr(const HistoErr& H); 24 25 virtual ~HistoErr(void); 25 26 26 // UPDATING or SETTING 27 //! Updating or Setting 28 void ReCenterBin(void); 27 29 void Zero(void); 28 //! Addition du contenu de l'histo pour abscisse x poids w et l'erreur e 29 inline void Add(r_8 x, r_8 w, r_8 e) 30 { 31 int_4 numBin = (int_4)floor((x-mMin)/binWidth); 32 if(numBin<0) mUnder += w; 33 else if(numBin>=mBins) mOver += w; 34 else { 35 mData[numBin] += w; mNData[numBin] += 1.; mErr2[numBin] += e*e; 36 nHist += w; nEntries++; 37 } 38 } 39 inline void Add(r_8 x, r_8 w) {Add(x,w,1.);} 40 inline void Add(r_8 x) {Add(x,1.,1.);} 41 //! Addition du contenu de l'histo pour le bin numBin poids w et l'erreur e 42 inline void AddBin(int_4 numBin, r_8 w, r_8 e) 43 { 44 if(numBin<0) mUnder += w; 45 else if(numBin>=mBins) mOver += w; 46 else { 47 mData[numBin] += w; mNData[numBin] += 1.; mErr2[numBin] += e*e; 48 nHist += w; nEntries++; 49 } 50 } 51 inline void AddBin(int_4 numBin, r_8 w) {AddBin(numBin,w,1.);} 52 inline void AddBin(int_4 numBin) {AddBin(numBin,1.,1.);} 53 //! remplissage contenu de l'histo pour le bin numBin poids w et l'erreur e 54 void SetBin(int_4 numBin, r_8 w, r_8 e, r_8 nb); 55 inline void SetBin(int_4 numBin, r_8 w, r_8 e) {SetBin(numBin,w,e,1.);} 56 inline void SetBin(int_4 numBin, r_8 w) {SetBin(numBin,w,1.,1.);} 57 inline void SetBin(int_4 numBin) {SetBin(numBin,1.,1.,1.);} 58 //! remplissage nombre d'entrees pour le bin numBin 59 void SetNentB(int_4 numBin, r_8 nb=1.); 30 31 //! Getting Info 32 int_4 NBins(void) {return nx_;} 33 r_8 XMin(void) {return xmin_;} 34 r_8 XMax(void) {return xmax_;} 35 r_8 BinWidth(void) {return dx_;} 36 37 //! Retourne le contenu du bin 38 inline r_8 operator()(int_4 i) const 39 { 40 if(i<0 || i>=nx_) return 0.; 41 return data_(i); 42 } 43 inline r_8& operator()(int_4 i) 44 { 45 return data_(i); 46 } 47 48 //! Retourne le nombre l'erreur au carre dans le bin 49 inline r_8 Error2(int_4 i) const 50 { 51 if(i<0 || i>=nx_) return 0.; 52 return err2_(i); 53 } 60 54 61 55 //! Retourne le nombre d'entree dans le bin 62 56 inline r_8 NEntBin(int_4 i) const 63 {if(mNData) return mNData[i]; else return 0.;} 57 { 58 if(i<0 || i>=nx_) return 0.; 59 return ndata_(i); 60 } 64 61 65 //! get/put from/to a vector 66 void GetNBin(TVector<r_8>& v) const; 67 void PutNBin(TVector<r_8>& v); 62 //! Retourne l'abscisse et l'ordonnee du coin inferieur du bin i. 63 inline r_8 BinLowEdge(int_4 i) const {return xmin_ + i*dx_;} 64 //! Retourne l'abscisse et l'ordonnee du centre du bin i. 65 inline r_8 BinCenter(int_4 i) const {return xmin_ + (i+0.5)*dx_;} 66 //! Retourne l'abscisse et l'ordonnee du coin superieur du bin i. 67 inline r_8 BinHighEdge(int_4 i) const {return xmin_ + (i+1)*dx_;} 68 //! Retourne les numeros du bin contenant l'abscisse et l'ordonnee x,y. 69 inline int_4 FindBin(r_8 x) const {return (int_4)floor((x-xmin_)/dx_);} 70 71 //! Addition du contenu de l'histo pour abscisse x poids w et l'erreur e 72 inline void Add(r_8 x, r_8 w, r_8 e) 73 { 74 int_4 i = FindBin(x); 75 if(i<0 || i>=nx_) return; 76 data_(i) += w; ndata_(i) += 1.; err2_(i) += e*e; 77 } 78 inline void Add(r_8 x, r_8 w) {Add(x,w,1.);} 79 inline void Add(r_8 x) {Add(x,1.,1.);} 80 81 //! Addition du contenu de l'histo pour le bin i poids w et l'erreur e 82 inline void AddBin(int_4 i, r_8 w, r_8 e) 83 { 84 if(i<0 || i>=nx_) return; 85 data_(i) += w; ndata_(i) += 1.; err2_(i) += e*e; 86 } 87 inline void AddBin(int_4 i, r_8 w) {AddBin(i,w,1.);} 88 inline void AddBin(int_4 i) {AddBin(i,1.,1.);} 89 90 //! remplissage contenu de l'histo pour le bin i poids w et l'erreur e 91 inline void SetBin(int_4 i, r_8 w, r_8 e, r_8 nb) 92 { 93 if(i<0 || i>=nx_) return; 94 data_(i) = w; 95 err2_(i) = e*e; 96 ndata_(i) = nb; 97 } 98 inline void SetBin(int_4 i, r_8 w, r_8 e) {SetBin(i,w,e,1.);} 99 inline void SetBin(int_4 i, r_8 w) {SetBin(i,w,1.,1.);} 100 inline void SetBin(int_4 i) {SetBin(i,1.,1.,1.);} 101 //! remplissage de l'erreur carree pour le bin i 102 void SetErr2(int_4 i, r_8 e2) 103 { 104 if(i<0 || i>=nx_) return; 105 err2_(i) = e2; 106 } 107 //! remplissage nombre d'entrees pour le bin i 108 void SetNentB(int_4 i, r_8 nb) 109 { 110 if(i<0 || i>=nx_) return; 111 ndata_(i) = nb; 112 } 68 113 69 114 //! Compute the correlation histogram … … 76 121 void FillFrHErr(HistoErr& hfrom); 77 122 123 //! Recuperation des matrices elementaires 124 inline void GetData(TVector<r_8>& data) {data = data_;} 125 inline void GetError2(TVector<r_8>& err2) {err2 = err2_;} 126 inline void GetNData(TVector<r_8>& ndata) {ndata = ndata_;} 127 78 128 // Operators 79 129 HistoErr& operator = (const HistoErr& h); … … 84 134 85 135 protected: 86 void CreateOrResize(r_8 xMin, r_8 xMax, int_4 nBin); 87 void Delete(void); 136 void CreateOrResize(r_8 xmin,r_8 xmax,int_4 nx); 88 137 89 r_8* mNData; //!< nombre d'entrees dans chaque bin 138 r_4 xmin_,xmax_,dx_; 139 int_4 nx_; 140 TVector<r_8> data_; 141 TVector<r_8> err2_; 142 TVector<r_8> ndata_; 90 143 int_4 mCorrel; //!< Nombre d'appels a ToCorrel(+1) ou FromCorrel(-1) 91 144 }; -
trunk/SophyaLib/HiStats/smakefile
r3121 r3123 173 173 $(SOPHYAINCP)sopnamsp.h \ 174 174 $(SOPHYAINCP)machdefs.h \ 175 histinit.h \ 176 $(SOPHYAINCP)ntoolsinit.h \ 177 $(SOPHYAINCP)tarrinit.h \ 178 $(SOPHYAINCP)sophyainit.h \ 179 $(SOPHYAINCP)machdefs.h \ 175 $(SOPHYAINCP)perrors.h \ 176 $(SOPHYAINCP)pexceptions.h \ 177 $(SOPHYAINCP)machdefs.h \ 178 $(SOPHYAINCP)fioarr.h \ 179 $(SOPHYAINCP)tarray.h \ 180 $(SOPHYAINCP)basarr.h \ 181 $(SOPHYAINCP)anydataobj.h \ 182 $(SOPHYAINCP)mutyv.h \ 183 $(SOPHYAINCP)timestamp.h \ 184 $(SOPHYAINCP)objfio.h \ 185 $(SOPHYAINCP)ppersist.h \ 186 $(SOPHYAINCP)gnumd5.h \ 187 $(SOPHYAINCP)ppfbinstream.h \ 188 $(SOPHYAINCP)rawstream.h \ 189 $(SOPHYAINCP)ppfnametag.h \ 190 $(SOPHYAINCP)dvlist.h \ 191 $(SOPHYAINCP)ndatablock.h \ 192 $(SOPHYAINCP)utilarr.h \ 193 $(SOPHYAINCP)tmatrix.h \ 194 $(SOPHYAINCP)tmatrix_tsnl.h \ 195 $(SOPHYAINCP)tvector.h \ 196 $(SOPHYAINCP)tvector_tsnl.h \ 180 197 histerr.h $(SOPHYAINCP)objfio.h \ 181 $(SOPHYAINCP)anydataobj.h \ 182 $(SOPHYAINCP)ppersist.h \ 183 $(SOPHYAINCP)pexceptions.h \ 184 $(SOPHYAINCP)gnumd5.h \ 185 $(SOPHYAINCP)ppfbinstream.h \ 186 $(SOPHYAINCP)rawstream.h \ 187 $(SOPHYAINCP)ppfnametag.h \ 188 histos.h $(SOPHYAINCP)peida.h \ 189 $(SOPHYAINCP)utils.h \ 190 $(SOPHYAINCP)perrors.h \ 191 $(SOPHYAINCP)fmath.h \ 192 $(SOPHYAINCP)tvector.h \ 193 $(SOPHYAINCP)tmatrix.h \ 194 $(SOPHYAINCP)tarray.h \ 195 $(SOPHYAINCP)basarr.h \ 196 $(SOPHYAINCP)mutyv.h \ 197 $(SOPHYAINCP)timestamp.h \ 198 $(SOPHYAINCP)objfio.h \ 199 $(SOPHYAINCP)dvlist.h \ 200 $(SOPHYAINCP)ndatablock.h \ 201 $(SOPHYAINCP)utilarr.h \ 202 $(SOPHYAINCP)tmatrix_tsnl.h \ 203 $(SOPHYAINCP)tvector_tsnl.h \ 204 $(SOPHYAINCP)ppersist.h \ 205 $(SOPHYAINCP)anydataobj.h \ 206 $(SOPHYAINCP)perrors.h 198 $(SOPHYAINCP)tvector.h 207 199 $(CXXCOMPILE) $(CXXTEMPFLG) -o $@ histerr.cc 208 200
Note:
See TracChangeset
for help on using the changeset viewer.