QXRD  0.11.16
qxrdcalibrant.h
Go to the documentation of this file.
1 #ifndef QXRDCALIBRANT_H
2 #define QXRDCALIBRANT_H
3 
4 #include "qcepmacros.h"
5 #include "qcepobject.h"
7 #include "qcepproperty.h"
9 #include "qxrdexperiment-ptr.h"
10 #include "qxrdcalibrant-ptr.h"
12 #include "qxrdcalibrantdspacing.h"
14 #include "qxrdcalibrantdspacings.h"
15 #include <qscriptengine.h>
16 
17 class QxrdCalibrant : public QcepObject
18 {
19  Q_OBJECT
20 
21 public:
24 
25 public slots:
26  QxrdCalibrantDSpacing dSpacing(int h, int k, int l);
27  QxrdCalibrantDSpacings dSpacings(double energy);
28 
29 public:
30  static QScriptValue toScriptValue(QScriptEngine *engine, const QxrdCalibrantWPtr &cal);
31  static void fromScriptValue(const QScriptValue &obj, QxrdCalibrantWPtr &cal);
32  bool isLocked();
33 
34  typedef enum {
35 // Triclinic,
36 // SimpleMonoclinic,
37 // BaseCenteredMonoclinic,
38 // SimpleOrthorhombic,
39 // BaseCenteredOrthorhombic,
40 // BodyCenteredOrthorhombic,
41 // FaceCenteredOrthorhombic,
42 // Rhombohedral,
43 // SimpleTetragonal,
44 // BodyCenterdTetragonal,
51  } Bravais;
52 
53 private:
56 
57 public:
58  Q_PROPERTY(int isUsed READ get_IsUsed WRITE set_IsUsed)
59  QCEP_INTEGER_PROPERTY(IsUsed)
60 
61  Q_PROPERTY(int index READ get_Index WRITE set_Index STORED false)
63 
64  Q_PROPERTY(int flags READ get_Flags WRITE set_Flags)
66 
67  Q_PROPERTY(QString description READ get_Description WRITE set_Description)
68  QCEP_STRING_PROPERTY(Description)
69 
70  Q_PROPERTY(int symmetry READ get_Symmetry WRITE set_Symmetry)
71  QCEP_INTEGER_PROPERTY(Symmetry)
72 
73  Q_PROPERTY(double a READ get_A WRITE set_A)
75 
76  Q_PROPERTY(double b READ get_B WRITE set_B)
78 
79  Q_PROPERTY(double c READ get_C WRITE set_C)
81 
82  Q_PROPERTY(double alpha READ get_Alpha WRITE set_Alpha)
84 
85  Q_PROPERTY(double beta READ get_Beta WRITE set_Beta)
87 
88  Q_PROPERTY(double gamma READ get_Gamma WRITE set_Gamma)
90 
91 private:
92  mutable QMutex m_Mutex;
95 };
96 
97 Q_DECLARE_METATYPE(QxrdCalibrantWPtr)
98 
99 #endif // QXRDCALIBRANT_H
QWeakPointer< QxrdCalibrant > QxrdCalibrantWPtr
QxrdCalibrantDSpacings dSpacingsHexagonal(double energy)
#define QCEP_DOUBLE_PROPERTY(propname)
Definition: qcepproperty.h:629
QxrdCalibrantDSpacing dSpacing(int h, int k, int l)
QWeakPointer< QxrdExperiment > QxrdExperimentWPtr
#define QCEP_INTEGER_PROPERTY(propname)
Definition: qcepproperty.h:698
static void fromScriptValue(const QScriptValue &obj, QxrdCalibrantWPtr &cal)
QxrdCalibrant(QcepSettingsSaverWPtr saver, QxrdExperimentWPtr exp, QxrdCalibrantLibraryWPtr lib, int index)
QxrdCalibrantLibraryWPtr m_CalibrantLibrary
Definition: qxrdcalibrant.h:94
#define QCEP_STRING_PROPERTY(propname)
Definition: qcepproperty.h:664
QWeakPointer< QxrdCalibrantLibrary > QxrdCalibrantLibraryWPtr
static QScriptValue toScriptValue(QScriptEngine *engine, const QxrdCalibrantWPtr &cal)
QxrdCalibrantDSpacings dSpacingsCubic(double energy)
QString description
Definition: qxrdcalibrant.h:67
QxrdExperimentWPtr m_Experiment
Definition: qxrdcalibrant.h:93
QxrdCalibrantDSpacings dSpacings(double energy)
QWeakPointer< QcepSettingsSaver > QcepSettingsSaverWPtr