00001 #ifndef SCT_SCTAPI_SCAMDEFIMPL_H
00002 #define SCT_SCTAPI_SCANDEFIMPL_H
00003
00010
00011 namespace SctApi {
00012 class ScanDefImpl;
00013 };
00014
00015
00016 #include <boost/shared_ptr.hpp>
00017
00018 #include "Scan.h"
00019
00020
00021 namespace SctApi {
00022
00023 class ScanDefImpl : public ::SctApi::Scan {
00024 ScanDefImpl &operator=(const ScanDefImpl &);
00025
00026 public:
00028 ScanDefImpl();
00029
00030 ScanDefImpl(const ScanDefImpl &);
00031
00032 static boost::shared_ptr<ScanDefImpl> clone(const boost::shared_ptr<const ::SctApi::Scan> other);
00033
00035 virtual ~ScanDefImpl();
00036
00037
00038
00039
00041 void configure(UINT16 type, FLOAT32 start, FLOAT32 stop, FLOAT32 step);
00042
00044 void configure2(UINT16 type, FLOAT32 start, FLOAT32 stop, FLOAT32 step);
00045
00046 const boost::shared_ptr< ::SctApi::Trigger> getTrigger1() const;
00047 const boost::shared_ptr< ::SctApi::Trigger> getTrigger2() const;
00048
00049 boost::shared_ptr< ::SctApi::Trigger> getTrigger1();
00050 boost::shared_ptr< ::SctApi::Trigger> getTrigger2();
00051
00052 void setTrigger1(boost::shared_ptr< ::SctApi::Trigger> trigger);
00053 void setTrigger2(boost::shared_ptr< ::SctApi::Trigger> trigger);
00054
00055 void setScanVariable1(unsigned short var);
00056 void setScanVariable2(unsigned short var);
00057
00058 unsigned short getScanVariable1() const;
00059 unsigned short getScanVariable2() const;
00060
00061 void setNTrigs(unsigned long nTrigs);
00062 unsigned long getNTrigs() const;
00063
00064 const TrigPoints getVariableTrigs() const;
00065 void setVariableTrigs(const TrigPoints &scans);
00066 void setVariableTrigRange(unsigned short start, unsigned short end, unsigned long value);
00067
00068 const ScanPoints getScanPoints1() const;
00069 const ScanPoints getScanPoints2() const;
00070 void setScanPoints1(const ScanPoints &scans);
00071 void setScanPoints2(const ScanPoints &scans);
00072
00073 int getOption(enum ScanOptions) const;
00074 void setOption(enum ScanOptions, int option);
00075
00076
00077
00078 std::string print() const;
00079
00080 void setScanNumber(unsigned int scan);
00081 unsigned int getScanNumber() const;
00082 void setRunNumber(unsigned int scan);
00083 unsigned int getRunNumber() const;
00084
00085 #if !(USE_CONST_SCAN)
00086
00087 ::SctApi::ModuleList getModuleList(unsigned int group) const;
00088 void setModuleList(unsigned int group, const ::SctApi::ModuleList & newList);
00089 unsigned int getNGroups() const;
00090 void setNGroups(unsigned int val);
00091
00092 virtual boost::posix_time::ptime getStartTime() const;
00093 virtual void setStartTime(boost::posix_time::ptime t);
00094
00095 virtual boost::posix_time::ptime getEndTime() const;
00096 virtual void setEndTime(boost::posix_time::ptime t);
00097
00098 #endif
00099
00101 ScanPoints scanPoints;
00102
00104 ScanPoints scanPoints2;
00105
00107 TrigPoints trigPoints;
00108
00110 bool allTrigsSame;
00111
00112 private:
00113
00115 int scanVariable;
00116
00118 int scanVariable2;
00119
00121 boost::shared_ptr<Trigger> trigSequence;
00122
00124 boost::shared_ptr<Trigger> trigSequence2;
00125
00127 int full;
00128
00130 int bits32;
00131
00133 int loopCalLine;
00134
00136 int distSlave;
00137
00139 int debug;
00140
00142 int tim;
00143
00145 int nth;
00146
00148 int nth_rem;
00149
00151 int enableDataMode;
00152
00154 int ccode;
00155
00157 int ope;
00158
00159 unsigned int scanNumber;
00160 unsigned int runNumber;
00161
00162 std::vector<std::list<std::string> > groupLists;
00163 unsigned int m_maxGroup;
00164
00165 boost::posix_time::ptime startTime;
00166 boost::posix_time::ptime endTime;
00167 };
00168 };
00169
00170 #endif