source: trunk/Cosy/main/MSlewing.h@ 18162

Last change on this file since 18162 was 9132, checked in by tbretz, 16 years ago
*** empty log message ***
File size: 1.0 KB
Line 
1#ifndef COSY_MSlewing
2#define COSY_MSlewing
3
4#ifndef ROOT_TROOT
5#include <TROOT.h>
6#endif
7
8class Dkc;
9class MCosy;
10
11#ifndef MARS_MPointing
12#include "MPointing.h"
13#endif
14
15class MSlewing
16{
17protected:
18 MCosy *fCosy;
19
20 bool SetAcc(Dkc *mac, Float_t acc);
21 bool Break();
22
23private:
24 Float_t fVel;
25 ZdAz fAcc;
26
27 Float_t fMaxResidual; // [rev] Maximum residual deviation to stop pointin
28
29 void DoRelPos(const ZdAz &rd, const Bool_t axe1, const Bool_t axe2);
30 void DoAbsPos(const ZdAz &rd, const Bool_t axe1, const Bool_t axe2);
31 void SetPosVelocity(const ZdAz &res, Float_t vel);
32
33 Double_t GetDiff(const ZdAz &za) const;
34
35public:
36 MSlewing(MCosy *cosy) : fCosy(cosy), fVel(0.1), fAcc(0,0), fMaxResidual(1./16384) { }
37 virtual ~MSlewing() { }
38
39 void SetPointAcc(Float_t zd, Float_t az) { fAcc.Zd(zd); fAcc.Az(az); }
40 void SetPointVelocity(Float_t vel) { fVel = vel; }
41 int SetPosition(const ZdAz &dst, Bool_t track=kFALSE);
42 void SetMaxResidual(Float_t ac) { fMaxResidual = ac; }
43
44 ClassDef(MSlewing, 0)
45};
46
47#endif
Note: See TracBrowser for help on using the repository browser.