SatAndLight  2.2.2-hubble
Simulation toolkit for space telescopes
Loading...
Searching...
No Matches
Satellite.h
Go to the documentation of this file.
1#ifndef __Satellite__
2#define __Satellite__
3
10#include "Telescope.h"
11
12using namespace std;
13
54class Satellite {
55
56 public:
57
74 Satellite(const UInt_t aTimeResolution);
75
79 virtual ~Satellite(void);
85
93 void RunSequence(const ULong64_t aTimeStart, const UInt_t aTimeDuration);
94
96
104 bool AddTelescope(Telescope *aTelescope, const ULong64_t aTimePeriodicty);
105
107
117 void SetFlightSequence(TGraph *aAlpha, TGraph *aBeta, TGraph *aGamma);
118
120
128 double GetAlphaFromFlightSequence(const double aTime);
129
131
139 double GetBetaFromFlightSequence(const double aTime);
140
142
150 double GetGammaFromFlightSequence(const double aTime);
151
153
156 inline UInt_t GetTimeResolution(void){ return sat_dt; };
157
159
163 inline void SetTimeResolution(const UInt_t aTimeResolution){
164 sat_dt=aTimeResolution;
165 };
166
168
173 bool SetFileDuration(const UInt_t aFileDuration);
174
176
181 void SetName(const string aName);
182
184
190 inline void SetOutputDirectory(const string aOutputDirectory){
191 if(IsDirectory(aOutputDirectory)) sat_outdir=aOutputDirectory;
192 }
193
195
198 inline string GetName(void){ return sat_name; };
199
200 private:
201
202 string sat_name;
203 string sat_outdir;
204
205 UInt_t sat_dt;
206 UInt_t sat_filedt;
207 vector <Telescope*> sat_tel;
208 vector <ULong64_t> sat_tel_T;
210 TGraph *sat_beta_seq;
212
213 ClassDef(Satellite,0)
214};
215
216#endif
217
218
bool IsDirectory(const string aDirPath)
Checks if a directory exists.
Definition CUtils.cc:8
This module is used to describe a telescope.
Satellite control.
Definition Satellite.h:54
Satellite(const UInt_t aTimeResolution)
Satellite class constuctor.
UInt_t GetTimeResolution(void)
Returns the satellite time resolution [ms].
Definition Satellite.h:156
string sat_name
Satellite name.
Definition Satellite.h:202
void SetOutputDirectory(const string aOutputDirectory)
Sets the satellite output directory.
Definition Satellite.h:190
string sat_outdir
Satellite output directory.
Definition Satellite.h:203
vector< ULong64_t > sat_tel_T
Vector of telescope periodicity.
Definition Satellite.h:208
void SetTimeResolution(const UInt_t aTimeResolution)
Sets the satellite time resolution [ms].
Definition Satellite.h:163
double GetGammaFromFlightSequence(const double aTime)
Returns the satellite angle at a given time according the flight sequence.
Definition Satellite.cc:201
void SetFlightSequence(TGraph *aAlpha, TGraph *aBeta, TGraph *aGamma)
Sets the satellite flight sequence.
Definition Satellite.cc:217
TGraph * sat_gamma_seq
Satellite flight sequence .
Definition Satellite.h:211
double GetAlphaFromFlightSequence(const double aTime)
Returns the satellite angle at a given time following the flight sequence.
Definition Satellite.cc:169
bool AddTelescope(Telescope *aTelescope, const ULong64_t aTimePeriodicty)
Adds a Telescope in the satellite.
Definition Satellite.cc:129
vector< Telescope * > sat_tel
Vector of telescopes.
Definition Satellite.h:207
double GetBetaFromFlightSequence(const double aTime)
Returns the satellite angle at a given time according the flight sequence.
Definition Satellite.cc:185
UInt_t sat_dt
Satelitte dt [ms].
Definition Satellite.h:205
TGraph * sat_alpha_seq
Satellite flight sequence .
Definition Satellite.h:209
bool SetFileDuration(const UInt_t aFileDuration)
Sets the satellite file duration [ms].
Definition Satellite.cc:150
TGraph * sat_beta_seq
Satellite flight sequence .
Definition Satellite.h:210
void SetName(const string aName)
Sets the satellite name.
Definition Satellite.cc:119
void RunSequence(const ULong64_t aTimeStart, const UInt_t aTimeDuration)
Runs a simulation sequence.
Definition Satellite.cc:49
string GetName(void)
Returns the satellite name.
Definition Satellite.h:198
UInt_t sat_filedt
Satelitte file duration [ms].
Definition Satellite.h:206
virtual ~Satellite(void)
Satellite class destructor.
Definition Satellite.cc:38
Telescope.
Definition Telescope.h:123