MNE-CPP  0.1.9
A Framework for Electrophysiology
hpimodelparameters.h
Go to the documentation of this file.
1 //=============================================================================================================
35 #ifndef INVERSELIBE_HPIMODELPARAMETERS_H
36 #define INVERSELIBE_HPIMODELPARAMETERS_H
37 
38 //=============================================================================================================
39 // INCLUDES
40 //=============================================================================================================
41 #include "../inverse_global.h"
42 
43 //=============================================================================================================
44 // QT INCLUDES
45 //=============================================================================================================
46 
47 #include <QObject>
48 #include <QVector>
49 #include <QSharedPointer>
50 
51 //=============================================================================================================
52 // EIGEN INCLUDES
53 //=============================================================================================================
54 
55 //=============================================================================================================
56 // FORWARD DECLARATIONS
57 //=============================================================================================================
58 
59 //=============================================================================================================
60 // DEFINE NAMESPACE INVERSELIBE
61 //=============================================================================================================
62 
63 namespace INVERSELIB {
64 
65 //=============================================================================================================
66 // INVERSELIBE FORWARD DECLARATIONS
67 //=============================================================================================================
68 
69 //=============================================================================================================
76 {
77 public:
78  typedef QSharedPointer<HpiModelParameters> SPtr;
79  typedef QSharedPointer<const HpiModelParameters> ConstSPtr;
81  //=========================================================================================================
85  HpiModelParameters() = default;
86 
87  //=========================================================================================================
96  explicit HpiModelParameters(const QVector<int> vecHpiFreqs,
97  const int iSampleFreq,
98  const int iLineFreq,
99  const bool bBasic);
100 
101  //=========================================================================================================
107  HpiModelParameters(const HpiModelParameters &hpiModelParameter);
108 
109  //=========================================================================================================
110 
111  HpiModelParameters operator= (const HpiModelParameters& other);
112  inline bool operator== (const HpiModelParameters &b) const;
113  inline bool operator!= (const HpiModelParameters &b) const;
114 
115  //=========================================================================================================
120  inline QVector<int> vecHpiFreqs() const;
121  inline int iNHpiCoils() const;
122  inline int iSampleFreq() const;
123  inline int iLineFreq() const;
124  inline bool bBasic() const;
125 
126 private:
127  //=========================================================================================================
131  void computeNumberOfCoils();
132 
133  //=========================================================================================================
137  void checkForLineFreq();
138 
139  QVector<int> m_vecHpiFreqs{QVector<int>()};
140  int m_iNHpiCoils{0};
141  int m_iSampleFreq{0};
142  int m_iLineFreq{0};
143  bool m_bBasic{true};
144 };
145 
146 //=============================================================================================================
147 // INLINE DEFINITIONS
148 //=============================================================================================================
149 
150 inline QVector<int> HpiModelParameters::vecHpiFreqs() const
151 {
152  return m_vecHpiFreqs;
153 }
154 
155 //=============================================================================================================
156 
157 inline int HpiModelParameters::iNHpiCoils() const
158 {
159  return m_iNHpiCoils;
160 }
161 
162 //=============================================================================================================
163 
164 inline int HpiModelParameters::iSampleFreq() const
165 {
166  return m_iSampleFreq;
167 }
168 
169 //=============================================================================================================
170 
171 inline int HpiModelParameters::iLineFreq() const
172 {
173  return m_iLineFreq;
174 }
175 
176 //=============================================================================================================
177 
178 inline bool HpiModelParameters::bBasic() const
179 {
180  return m_bBasic;
181 }
182 
183 //=============================================================================================================
184 
185 inline bool HpiModelParameters::operator== (const HpiModelParameters &b) const
186 {
187  return (this->vecHpiFreqs() == b.vecHpiFreqs() &&
188  this->iNHpiCoils() == b.iNHpiCoils() &&
189  this->iSampleFreq() == b.iSampleFreq() &&
190  this->iLineFreq() == b.iLineFreq() &&
191  this->bBasic() == b.bBasic());
192 }
193 
194 //=============================================================================================================
195 
196 inline bool HpiModelParameters::operator!= (const HpiModelParameters &b) const
197 {
198  return !(*this==b);
199 }
200 
201 } // namespace INVERSELIBE
202 
203 #endif // INVERSELIBE_HPIMODELPARAMETERS_H
204 
INVERSESHARED_EXPORT
#define INVERSESHARED_EXPORT
Definition: inverse_global.h:56
INVERSELIB::HpiModelParameters
Brief description of this class.
Definition: hpimodelparameters.h:75
INVERSELIB::HpiModelParameters::SPtr
QSharedPointer< HpiModelParameters > SPtr
Definition: hpimodelparameters.h:78
INVERSELIB::HpiModelParameters::vecHpiFreqs
QVector< int > vecHpiFreqs() const
Definition: hpimodelparameters.h:150
INVERSELIB::HpiModelParameters::ConstSPtr
QSharedPointer< const HpiModelParameters > ConstSPtr
Definition: hpimodelparameters.h:79