Main Page | Modules | Alphabetical List | Class List | File List | Class Members

dsme-info-adapter.hh

Go to the documentation of this file.
00001 
00002 #ifndef __DSME_INFO_ADAPTER_HH__
00003 #define __DSME_INFO_ADAPTER_HH__
00004 
00014 #include <accdata.hh>
00015 #include <accvector.hh>
00016 #include <accdevexception.hh>
00017 
00018 
00019 
00020 using std::auto_ptr;
00021 
00022 namespace DeviceAccess
00023 {
00024 namespace EqModDSME
00025 {
00026 
00037 class E_API INFODataAdapter
00038 {
00039 public:
00040 
00041   static auto_ptr<const INFODataAdapter> createRcvP(const DeviceAccess::AccData& data)
00042   {
00043     if (data.size()>20) {
00044       throw(AccDevException(ODA_MOREDATA,ODA_OK,ACCDEV_ERRORLOCATION));
00045     }
00046     DeviceAccess::AccData& mutual_data = const_cast<DeviceAccess::AccData&>(data);
00047     return auto_ptr<const INFODataAdapter>(new INFODataAdapter(mutual_data,0));
00048   }
00049         
00050   static auto_ptr<INFODataAdapter> createSndP(DeviceAccess::AccData& data)
00051   {
00052     data.assign(20,Float32());
00053 
00054     auto_ptr<INFODataAdapter> p(new INFODataAdapter(data,0));
00055     p->init();
00056     return p;
00057   }
00058 
00060   Float32 mrot1() const {
00061     return (*_ptr)[_offset+0].convert(Float32());
00062   }
00063 
00065   void mrot1(Float32 val) {
00066     (*_ptr)[_offset+0] = val;
00067   }
00068 
00070   Float32 mrot2() const {
00071     return (*_ptr)[_offset+1].convert(Float32());
00072   }
00073 
00075   void mrot2(Float32 val) {
00076     (*_ptr)[_offset+1] = val;
00077   }
00078 
00080   Float32 mrot3() const {
00081     return (*_ptr)[_offset+2].convert(Float32());
00082   }
00083 
00085   void mrot3(Float32 val) {
00086     (*_ptr)[_offset+2] = val;
00087   }
00088 
00090   Float32 mrot4() const {
00091     return (*_ptr)[_offset+3].convert(Float32());
00092   }
00093 
00095   void mrot4(Float32 val) {
00096     (*_ptr)[_offset+3] = val;
00097   }
00098 
00100   Float32 potlength() const {
00101     return (*_ptr)[_offset+4].convert(Float32());
00102   }
00103 
00105   void potlength(Float32 val) {
00106     (*_ptr)[_offset+4] = val;
00107   }
00108 
00110   Float32 steps() const {
00111     return (*_ptr)[_offset+5].convert(Float32());
00112   }
00113 
00115   void steps(Float32 val) {
00116     (*_ptr)[_offset+5] = val;
00117   }
00118 
00120   Float32 kathmin() const {
00121     return (*_ptr)[_offset+6].convert(Float32());
00122   }
00123 
00125   void kathmin(Float32 val) {
00126     (*_ptr)[_offset+6] = val;
00127   }
00128 
00130   Float32 kathmax() const {
00131     return (*_ptr)[_offset+7].convert(Float32());
00132   }
00133 
00135   void kathmax(Float32 val) {
00136     (*_ptr)[_offset+7] = val;
00137   }
00138 
00140   Float32 anodmin() const {
00141     return (*_ptr)[_offset+8].convert(Float32());
00142   }
00143 
00145   void anodmin(Float32 val) {
00146     (*_ptr)[_offset+8] = val;
00147   }
00148 
00150   Float32 anodmax() const {
00151     return (*_ptr)[_offset+9].convert(Float32());
00152   }
00153 
00155   void anodmax(Float32 val) {
00156     (*_ptr)[_offset+9] = val;
00157   }
00158 
00160   Float32 acc() const {
00161     return (*_ptr)[_offset+10].convert(Float32());
00162   }
00163 
00165   void acc(Float32 val) {
00166     (*_ptr)[_offset+10] = val;
00167   }
00168 
00170   Float32 velo() const {
00171     return (*_ptr)[_offset+11].convert(Float32());
00172   }
00173 
00175   void velo(Float32 val) {
00176     (*_ptr)[_offset+11] = val;
00177   }
00178 
00180   Float32 offset1() const {
00181     return (*_ptr)[_offset+12].convert(Float32());
00182   }
00183 
00185   void offset1(Float32 val) {
00186     (*_ptr)[_offset+12] = val;
00187   }
00188 
00190   Float32 offset2() const {
00191     return (*_ptr)[_offset+13].convert(Float32());
00192   }
00193 
00195   void offset2(Float32 val) {
00196     (*_ptr)[_offset+13] = val;
00197   }
00198 
00200   Float32 offset3() const {
00201     return (*_ptr)[_offset+14].convert(Float32());
00202   }
00203 
00205   void offset3(Float32 val) {
00206     (*_ptr)[_offset+14] = val;
00207   }
00208 
00210   Float32 offset4() const {
00211     return (*_ptr)[_offset+15].convert(Float32());
00212   }
00213 
00215   void offset4(Float32 val) {
00216     (*_ptr)[_offset+15] = val;
00217   }
00218 
00220   Float32 volts1() const {
00221     return (*_ptr)[_offset+16].convert(Float32());
00222   }
00223 
00225   void volts1(Float32 val) {
00226     (*_ptr)[_offset+16] = val;
00227   }
00228 
00230   Float32 volts2() const {
00231     return (*_ptr)[_offset+17].convert(Float32());
00232   }
00233 
00235   void volts2(Float32 val) {
00236     (*_ptr)[_offset+17] = val;
00237   }
00238 
00240   Float32 volts3() const {
00241     return (*_ptr)[_offset+18].convert(Float32());
00242   }
00243 
00245   void volts3(Float32 val) {
00246     (*_ptr)[_offset+18] = val;
00247   }
00248 
00250   Float32 volts4() const {
00251     return (*_ptr)[_offset+19].convert(Float32());
00252   }
00253 
00255   void volts4(Float32 val) {
00256     (*_ptr)[_offset+19] = val;
00257   }
00258 
00259 
00261   INFODataAdapter(DeviceAccess::AccData& data, size_t offset=0) : _ptr(&data), _offset(offset)
00262   {
00263   }
00264 
00266   void init() {
00267 
00268   }
00269 
00270 
00271 
00272 private:
00273   DeviceAccess::AccData* _ptr;
00274   size_t _offset;
00275 };
00276 
00278 typedef INFODataAdapter ReadINFODataAdapter;
00279 
00281 typedef auto_ptr<ReadINFODataAdapter> ReadINFODataP;
00282 
00286 } // namespace EqModDSME
00287 } // namespace DeviceAccess
00288 
00289 #endif

Generated on Tue Apr 21 16:51:44 2009 for DSME-Equipment Model for Septum stepper driver. by doxygen 1.3.5