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 
64 namespace INVERSELIB {
65 
66 
67 //=============================================================================================================
68 // INVERSELIBE FORWARD DECLARATIONS
69 //=============================================================================================================
70 
71 //=============================================================================================================
78 {
79 public:
80  typedef QSharedPointer<HpiModelParameters> SPtr;
81  typedef QSharedPointer<const HpiModelParameters> ConstSPtr;
83  //=========================================================================================================
87  HpiModelParameters() = default;
88 
89  //=========================================================================================================
98  explicit HpiModelParameters(const QVector<int> vecHpiFreqs,
99  const int iSampleFreq,
100  const int iLineFreq,
101  const bool bBasic);
102 
103  //=========================================================================================================
109  HpiModelParameters(const HpiModelParameters &hpiModelParameter);
110 
111  //=========================================================================================================
112 
113  HpiModelParameters operator= (const HpiModelParameters& other);
114  inline bool operator== (const HpiModelParameters &b) const;
115  inline bool operator!= (const HpiModelParameters &b) const;
116 
117  //=========================================================================================================
122  inline QVector<int> vecHpiFreqs() const;
123  inline int iNHpiCoils() const;
124  inline int iSampleFreq() const;
125  inline int iLineFreq() const;
126  inline bool bBasic() const;
127 
128 private:
129  //=========================================================================================================
133  void computeNumberOfCoils();
134 
135  //=========================================================================================================
139  void checkForLineFreq();
140 
141  QVector<int> m_vecHpiFreqs{QVector<int>()};
142  int m_iNHpiCoils{0};
143  int m_iSampleFreq{0};
144  int m_iLineFreq{0};
145  bool m_bBasic{true};
146 };
147 
148 //=============================================================================================================
149 // INLINE DEFINITIONS
150 //=============================================================================================================
151 
152 inline QVector<int> HpiModelParameters::vecHpiFreqs() const
153 {
154  return m_vecHpiFreqs;
155 }
156 
157 //=============================================================================================================
158 
159 inline int HpiModelParameters::iNHpiCoils() const
160 {
161  return m_iNHpiCoils;
162 }
163 
164 //=============================================================================================================
165 
166 inline int HpiModelParameters::iSampleFreq() const
167 {
168  return m_iSampleFreq;
169 }
170 
171 //=============================================================================================================
172 
173 inline int HpiModelParameters::iLineFreq() const
174 {
175  return m_iLineFreq;
176 }
177 
178 //=============================================================================================================
179 
180 inline bool HpiModelParameters::bBasic() const
181 {
182  return m_bBasic;
183 }
184 
185 //=============================================================================================================
186 
187 inline bool HpiModelParameters::operator== (const HpiModelParameters &b) const
188 {
189  return (this->vecHpiFreqs() == b.vecHpiFreqs() &&
190  this->iNHpiCoils() == b.iNHpiCoils() &&
191  this->iSampleFreq() == b.iSampleFreq() &&
192  this->iLineFreq() == b.iLineFreq() &&
193  this->bBasic() == b.bBasic());
194 }
195 
196 //=============================================================================================================
197 
198 inline bool HpiModelParameters::operator!= (const HpiModelParameters &b) const
199 {
200  return !(*this==b);
201 }
202 
203 } // namespace INVERSELIBE
204 
205 #endif // INVERSELIBE_HPIMODELPARAMETERS_H
206 
#define INVERSESHARED_EXPORT
QVector< int > vecHpiFreqs() const
QSharedPointer< HpiModelParameters > SPtr
Brief description of this class.
QSharedPointer< const HpiModelParameters > ConstSPtr