ALPS Home Libraries License Support People ALPS Web Site

PrevUpHomeNext

Class template mcdata

alps::alea::mcdata

Synopsis

// In header: <alps/alea/mcdata.hpp>

template<typename T> 
class mcdata {
public:
  // types
  typedef T                                    value_type;      
  typedef change_value_type< T, double >::type time_type;       
  typedef std::size_t                          size_type;       
  typedef double                               count_type;      
  typedef average_type< T >::type              result_type;     
  typedef change_value_type< T, int >::type    convergence_type;
  typedef covariance_type< T >::type           covariance_type; 

  // construct/copy/destruct
  mcdata();
  template<typename X> mcdata(mcdata< X > const &);
  template<typename X, typename S> mcdata(mcdata< X > const &, S);
  mcdata(AbstractSimpleObservable< value_type > const &);
  mcdata& operator=(mcdata< T >);

  // public member functions
  uint64_t count() const;
  uint64_t bin_size() const;
  std::size_t bin_number() const;
  std::vector< value_type > const & bins() const;
  result_type const mean() const;
  result_type const error() const;
  result_type const & variance() const;
  time_type const & tau() const;
  covariance_type covariance(mcdata< T > const &) const;
  void set_bin_size(uint64_t) ;
  void set_bin_number(uint64_t) ;
  void output(std::ostream &, boost::mpl::true_) const;
  void output_vector(std::ostream &, boost::mpl::false_) const;
  void serialize(hdf5::iarchive &) ;
  void serialize(hdf5::oarchive &) const;
  mcdata< T > & operator<<(mcdata< T > const &) ;
  template<typename S> 
    mcdata< typename element_type< T >::type > slice(S) const;
  template<typename X> bool operator==(mcdata< X > const &) ;
  mcdata< T > & operator+=(mcdata< T > const &) ;
  mcdata< T > & operator-=(mcdata< T > const &) ;
  template<typename X> mcdata< T > & operator*=(mcdata< X > const &) ;
  template<typename X> mcdata< T > & operator/=(mcdata< X > const &) ;
  template<typename X> mcdata< T > & operator+=(X const &) ;
  template<typename X> mcdata< T > & operator-=(X const &) ;
  template<typename X> mcdata< T > & operator*=(X const &) ;
  template<typename X> mcdata< T > & operator/=(X const &) ;
  mcdata< T > & operator-() ;
  template<typename X> void subtract_from(X const &) ;
  template<typename X> void divide(X const &) ;
  template<typename OP> 
    void transform_linear(OP, value_type const &, 
                          boost::optional< result_type > = boost::none_t()) ;
  template<typename OP> 
    void transform(OP, value_type const &, 
                   boost::optional< result_type > = boost::none_t()) ;
  template<typename X, typename OP> 
    void transform(mcdata< X > const &, OP, value_type const &, 
                   boost::optional< result_type > = boost::none_t()) ;

  // private member functions
  void collect_bins(uint64_t) ;
  void fill_jack() const;
  void analyze() const;
};

Description

mcdata public construct/copy/destruct

  1. mcdata();
  2. template<typename X> mcdata(mcdata< X > const & rhs);
  3. template<typename X, typename S> mcdata(mcdata< X > const & rhs, S s);
  4. mcdata(AbstractSimpleObservable< value_type > const & obs);
  5. mcdata& operator=(mcdata< T > rhs);

mcdata public member functions

  1. uint64_t count() const;
  2. uint64_t bin_size() const;
  3. std::size_t bin_number() const;
  4. std::vector< value_type > const & bins() const;
  5. result_type const mean() const;
  6. result_type const error() const;
  7. result_type const & variance() const;
  8. time_type const & tau() const;
  9. covariance_type covariance(mcdata< T > const & obs) const;
  10. void set_bin_size(uint64_t binsize) ;
  11. void set_bin_number(uint64_t bin_number) ;
  12. void output(std::ostream & out, boost::mpl::true_) const;
  13. void output_vector(std::ostream & out, boost::mpl::false_) const;
  14. void serialize(hdf5::iarchive & ar) ;
  15. void serialize(hdf5::oarchive & ar) const;
  16. mcdata< T > & operator<<(mcdata< T > const & rhs) ;
  17. template<typename S> 
      mcdata< typename element_type< T >::type > slice(S s) const;
  18. template<typename X> bool operator==(mcdata< X > const & rhs) ;
  19. mcdata< T > & operator+=(mcdata< T > const & rhs) ;
  20. mcdata< T > & operator-=(mcdata< T > const & rhs) ;
  21. template<typename X> mcdata< T > & operator*=(mcdata< X > const & rhs) ;
  22. template<typename X> mcdata< T > & operator/=(mcdata< X > const & rhs) ;
  23. template<typename X> mcdata< T > & operator+=(X const & rhs) ;
  24. template<typename X> mcdata< T > & operator-=(X const & rhs) ;
  25. template<typename X> mcdata< T > & operator*=(X const & rhs) ;
  26. template<typename X> mcdata< T > & operator/=(X const & rhs) ;
  27. mcdata< T > & operator-() ;
  28. template<typename X> void subtract_from(X const & x) ;
  29. template<typename X> void divide(X const & x) ;
  30. template<typename OP> 
      void transform_linear(OP op, value_type const & error, 
                            boost::optional< result_type > variance_opt = boost::none_t()) ;
  31. template<typename OP> 
      void transform(OP op, value_type const & error, 
                     boost::optional< result_type > variance_opt = boost::none_t()) ;
  32. template<typename X, typename OP> 
      void transform(mcdata< X > const & rhs, OP op, value_type const & error, 
                     boost::optional< result_type > variance_opt = boost::none_t()) ;

mcdata private member functions

  1. void collect_bins(uint64_t howmany) ;
  2. void fill_jack() const;
  3. void analyze() const;
Copyright © 1994, 2002-2005 Matthias Troyer, Synge Todo

PrevUpHomeNext