MSpin-JCoupling  2.1
chemicalshift.h
1 /***************************************************************************
2  chemicalshift.h - description
3  -------------------
4  author : Armando Navarro-Vazquez
5  email : armando.deus@gmail.com
6  ***************************************************************************/
7 
8 /***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 
17 #ifndef MAGNES_CHEMICALSHIFT_H
18 #define MAGNES_CHEMICALSHIFT_H
19 
20 #include "couplingconstant.h"
21 
22 namespace magnes
23 {
24 class MAGNES_CORE_API ChemicalShift {
25 public:
26 public:
28  ChemicalShift(size_t i);
30  ChemicalShift(size_t i,double ev);
32  ChemicalShift(size_t i, double ev,double err);
34  double AverageValue() const { return _averagevalue; }
36  double ExperimentalValue() const { return _experimentalvalue; }
38  void SetExperimentalValue(double ev);
40  bool HasExperimentalValue() const { return _hasexperimentalvalue; }
42  void SetAverageValue(double v) { _averagevalue=v; }
44  const std::vector<double>& ComputedValues() const { return _computedvalues; }
46  std::vector<double>& ComputedValues() { return _computedvalues; }
48  const size_t& I() const { return _first; }
50  size_t& I() { return _first; }
52  const magnes::Error& StandardDeviation() const { return _standarddeviation; }
54  void SetStandardDeviation(double err) { _standarddeviation=err; }
56  const std::vector<magnes::Error>& ComputedStandardDeviations() const { return _computederrors; }
58  std::vector<magnes::Error>& ComputedStandardDeviations() { return _computederrors; }
60  const std::vector< D1Array<double> >& Distribution() const { return _distribution; }
62  std::vector < D1Array<double> >& Distribution() { return _distribution; }
64  const magnes::D1Array<double>& AveragedDistribution() const { return _averageddistribution; }
66  magnes::D1Array<double>& AveragedDistribution() { return _averageddistribution; }
68  const magnes::Error& AveragedStandardDeviation() const { return _averagedstandarddeviation; }
70  void SetAveragedStandardDeviation(double err) { _averagedstandarddeviation=err; }
74  void SetStatisticalWeight(double w) { _sweight=w; }
76  double StatisticalWeight() const { return _sweight; }
77 
78 private:
79  size_t _first;
80  std::vector<double> _computedvalues;
81  std::vector<magnes::Error> _computederrors;
82  double _averagevalue;
83  double _experimentalvalue;
84  bool _hasexperimentalvalue;
85  magnes::Error _standarddeviation;
86  std::vector< magnes::D1Array<double> > _distribution;
87  magnes::D1Array<double> _averageddistribution;
88  magnes::Error _averagedstandarddeviation;
89  double _sweight;
90 };
92 MAGNES_CORE_API bool operator==(const ChemicalShift &, const ChemicalShift &);
95 
96 }
97 
98 #endif //MAGNES_CHEMICAL_SHIFT_H
bool HasExperimentalValue() const
Definition: chemicalshift.h:40
const magnes::D1Array< double > & AveragedDistribution() const
Definition: chemicalshift.h:64
size_t & I()
Definition: chemicalshift.h:50
const magnes::Error & StandardDeviation() const
Definition: chemicalshift.h:52
void SetAverageValue(double v)
Definition: chemicalshift.h:42
const magnes::Error & AveragedStandardDeviation() const
Definition: chemicalshift.h:68
the global magnes namespace
Definition: ccchequation.h:38
ChemicalShift QuadrupolarCoupling
Definition: chemicalshift.h:94
void SetStatisticalWeight(double w)
Definition: chemicalshift.h:74
std::vector< D1Array< double > > & Distribution()
Definition: chemicalshift.h:62
double StatisticalWeight() const
Definition: chemicalshift.h:76
const std::vector< double > & ComputedValues() const
Definition: chemicalshift.h:44
std::vector< magnes::Error > & ComputedStandardDeviations()
Definition: chemicalshift.h:58
const std::vector< D1Array< double > > & Distribution() const
Definition: chemicalshift.h:60
magnes::D1Array< double > & AveragedDistribution()
Definition: chemicalshift.h:66
double ExperimentalValue() const
Definition: chemicalshift.h:36
MAGNES_CORE_API bool operator==(const ChemicalShift &, const ChemicalShift &)
const size_t & I() const
Definition: chemicalshift.h:48
std::vector< double > & ComputedValues()
Definition: chemicalshift.h:46
A general class for storing experimental errors.
Definition: couplingconstant.h:31
const std::vector< magnes::Error > & ComputedStandardDeviations() const
Definition: chemicalshift.h:56
Definition: chemicalshift.h:24
void SetStandardDeviation(double err)
Definition: chemicalshift.h:54
double AverageValue() const
Definition: chemicalshift.h:34
void SetAveragedStandardDeviation(double err)
Definition: chemicalshift.h:70