00001
00002
00004 #ifndef __Streams__
00005 #define __Streams__
00006
00007 #include "TimeDelay.h"
00008 #include "Sample.h"
00009 #include "DetConst.h"
00010
00011 using namespace std;
00012
00018 class Streams : public Sample {
00019
00020 public:
00021
00032 Streams(const string aName, const int aVerbose=0);
00033
00037 virtual ~Streams(void);
00047 bool SetName(const string aNewName);
00048
00052 inline string GetName(void){ return Name; };
00053
00057 inline string GetNamePrefix(void){ return NamePrefix; };
00058
00062 inline string GetNameSuffix(void){ return NameSuffix; };
00063
00068 inline int GetDetIndex(void){ return DetIndex; };
00069
00074 inline string GetDetPrefix(void){ if(DetIndex<0) return ""; return DET_PREFIX[DetIndex]; };
00075
00086 void GetDetAMResponse(double &fplus, double &fcross, const double ra, const double dec, const double psi, const double gmst);
00087
00096 inline double GetLocalTime(const double aRa, const double aDec, const double aGeocentricTime){
00097 if(DetIndex<0) return -1.0;
00098 else return aGeocentricTime+TimeDelayFromEarthCenter(DetLoc, aRa, aDec, aGeocentricTime);
00099 };
00100
00101 private:
00102
00103
00104 int verbose;
00105 string Name;
00106 string NamePrefix;
00107 string NameSuffix;
00108
00109
00110 void MakeLVDetector(void);
00111 int DetIndex;
00112 void ComputeDetectorResponse(void);
00113 double Response[3][3];
00114 double DetLoc[3];
00115
00116 ClassDef(Streams,0)
00117 };
00118
00119 #endif
00120
00121