My Project
DoubleBinArrange.hh
00001 /*
00002 $Id: DoubleBinArrange.hh 2273 2011-06-22 09:38:14Z jisuzuki $
00003 */
00004 
00005 
00006 #ifndef DOUBLEBINARRANGE
00007 #define DOUBLEBINARRANGE
00008 
00009 #include "Header.hh"
00010 #include "HeaderBase.hh"
00011 #include "NeutronVector.hh"
00012 
00014 
00025 class DoubleBinArrange
00026 {
00027 private:
00028   UInt4 SourceBinNumber; 
00029   UInt4 ResultBinNumber;
00030   vector<Double> SourceBinMin; 
00031   vector<Double> SourceBinMax;
00032   vector<Double> SourceValue;  
00033   vector<Double> SourceError;
00034   vector<Double> ResultBinMin; 
00035   vector<Double> ResultBinMax;
00036   vector<Double> ResultValue;  
00037   vector<Double> ResultError;
00038   NeutronVector< vector<Double>, HeaderBase > * CPercent; 
00039   NeutronVector< vector<UInt4>, HeaderBase > * CNumber;
00040 
00041   void MakeArray();
00042   Int4 SelectOrigBin( Double value );
00043   Int4 SelectResultBin( Double value );
00044 
00045   void SetSourceBinBoundary( const vector<Double> &array );
00046   void SetResultBinBoundary( const vector<Double> &array );
00047   void SetSourceValue( const vector<Double> &array );
00048   void SetSourceError( const vector<Double> &array );
00049   void FormatBin();
00050 
00051   UInt4 AveFlag;
00052   UInt4 BinFlag;
00053 
00054 public:
00055   DoubleBinArrange( UInt4 SourceBinNumber, 
00056                     UInt4 ResultBinNumber );
00059  ~DoubleBinArrange();
00060   
00061   void SetHist( const vector<Double> &SourceBinBoundary,
00062                 const vector<Double> &SourceValue,
00063                 const vector<Double> &SourceError,
00064                 const vector<Double> &ResultBinBoundary );
00071   vector<Double> &PutResultBinMin(); 
00077   vector<Double> &PutResultBinMax();
00083   vector<Double> PutResultBin();
00089   vector<Double> PutResultBinVector();
00096   vector<Double> &PutResultValue();
00101   vector<Double> &PutResultError();
00107   void Binning( Int4 DefaultErrorValue=0 ); 
00109   void Averaging();
00111 };
00112 
00113 #endif
00114  
 All Classes Functions Variables Friends