SatAndLight  2.2.2-hubble
Simulation toolkit for space telescopes
Satellite.h
Go to the documentation of this file.
1 #ifndef __Satellite__
2 #define __Satellite__
3 
10 #include "Telescope.h"
11 
12 using namespace std;
13 
54 class 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;
209  TGraph *sat_alpha_seq;
210  TGraph *sat_beta_seq;
211  TGraph *sat_gamma_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:198
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
TGraph * sat_gamma_seq
Satellite flight sequence .
Definition: Satellite.h:211
vector< Telescope * > sat_tel
Vector of telescopes.
Definition: Satellite.h:207
UInt_t sat_dt
Satelitte dt [ms].
Definition: Satellite.h:205
TGraph * sat_alpha_seq
Satellite flight sequence .
Definition: Satellite.h:209
TGraph * sat_beta_seq
Satellite flight sequence .
Definition: Satellite.h:210
string GetName(void)
Returns the satellite name.
Definition: Satellite.h:198
UInt_t sat_filedt
Satelitte file duration [ms].
Definition: Satellite.h:206
Telescope.
Definition: Telescope.h:123