ScanDefImpl.h

00001 #ifndef SCT_SCTAPI_SCAMDEFIMPL_H
00002 #define SCT_SCTAPI_SCANDEFIMPL_H
00003 
00010 // fwddec
00011 namespace SctApi {
00012   class ScanDefImpl;
00013 };
00014 
00015 // includes
00016 #include <boost/shared_ptr.hpp>
00017 
00018 #include "Scan.h"
00019 
00020 // defn
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     //   /// Print the scan
00038     //   void print() const;
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     /*   void copy(const ::SctApi::Scan &scan); */
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

Generated on Mon Feb 6 14:01:27 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6