Line | |
---|
1 | #ifndef COSY_MSlewing
|
---|
2 | #define COSY_MSlewing
|
---|
3 |
|
---|
4 | #ifndef ROOT_TROOT
|
---|
5 | #include <TROOT.h>
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | class Dkc;
|
---|
9 | class MCosy;
|
---|
10 |
|
---|
11 | #ifndef MARS_MPointing
|
---|
12 | #include "MPointing.h"
|
---|
13 | #endif
|
---|
14 |
|
---|
15 | class MSlewing
|
---|
16 | {
|
---|
17 | protected:
|
---|
18 | MCosy *fCosy;
|
---|
19 |
|
---|
20 | bool SetAcc(Dkc *mac, Float_t acc);
|
---|
21 | bool Break();
|
---|
22 |
|
---|
23 | private:
|
---|
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 |
|
---|
35 | public:
|
---|
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.