source: branches/Mars_MC/mpointing/MPointingPosInterpolate.h@ 17063

Last change on this file since 17063 was 6048, checked in by gaug, 20 years ago
*** empty log message ***
File size: 1.9 KB
Line 
1#ifndef MARS_MPointingPosInterpolate
2#define MARS_MPointingPosInterpolate
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8#ifndef ROOT_TSpline
9#include <TSpline.h>
10#endif
11
12#ifndef MARS_MTime
13#include "MTime.h"
14#endif
15
16class MTime;
17class MPointingPos;
18class MRawRunHeader;
19class MDirIter;
20
21class MPointingPosInterpolate : public MTask
22{
23public:
24
25 enum TimeMode_t {
26 kRunTime,
27 kEventTime
28 };
29
30private:
31
32 static const Int_t fgNumStartEvents; //! Default for fNumStartEvents (now set to: 10000)
33
34 Int_t fNumStartEvents; // Start number of allowed events
35
36 Bool_t fDebug;
37
38 TString fFilename;
39 MTime fFirstDriveTime;
40 MTime fLastDriveTime;
41
42 MTime *fEvtTime; //! Raw event time
43 MPointingPos *fPointingPos; //! Telescope pointing postion
44 MRawRunHeader *fRunHeader; //! Run Header
45 MDirIter *fDirIter; //! Dir Iter
46
47 TSpline3* fSplineZd; //! Zd vs. time
48 TSpline3* fSplineAz; //! Az vs. time
49
50 Double_t fRa; // RA of source
51 Double_t fDec; // Dec of source
52
53 Int_t PreProcess(MParList *pList);
54 Int_t Process();
55 Bool_t ReadDriveReport();
56
57 TimeMode_t fTimeMode;
58
59 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
60
61public:
62
63 MPointingPosInterpolate(const char *name=NULL, const char *title=NULL);
64
65 ~MPointingPosInterpolate();
66
67 void AddFiles(MDirIter *dir) { fDirIter = dir; }
68 void AddFile(const char *name) { fFilename = name; }
69
70 void SetTimeMode( TimeMode_t mode) { fTimeMode = mode; }
71 void SetDebug( const Bool_t b=kTRUE) { fDebug = b; }
72
73 void Clear(Option_t *o="");
74
75 Int_t GetNumStartEvents() const { return fNumStartEvents; }
76 void SetNumStartEvents ( const Int_t i=fgNumStartEvents ) { fNumStartEvents = i; }
77
78 ClassDef(MPointingPosInterpolate, 1) // Interpolate the drive pointing positions
79};
80
81#endif
Note: See TracBrowser for help on using the repository browser.