15 fnormal =
Vector(1.,1.,1.);
16 funit_x =
Vector(1.,1.,1.);
17 funit_y =
Vector(1.,1.,1.);
43 fcosineProjectionFactor = a;
48 return fcosineProjectionFactor;
89 return (
double) (i % (fNsamples));
94 return (
double) floor(i / (fNsamples));
108 + i * fedgeLength*funit_x
109 + j * fedgeLength*funit_y;
117 fVmmhz_freq.push_back(A);
122 return fVmmhz_freq[i];
127 fVmmhz0.push_back(A);
135 fViewangle.push_back(A);
139 return fViewangle[i];
144 fDelays.push_back(A);
159 return fNvalidpoints;
164 fVec2blns.push_back(v);
184 fImpactPt.push_back(p);
194 fWeight.push_back(a);
210 fIncAngles.push_back(A);
214 return fIncAngles[i];
218 fTransAngles.push_back(A);
222 return fTransAngles[i];
226 fFacetLength.push_back(A);
230 return fFacetLength[i];
234 fTcoeff_parl_polparl.push_back(A);
238 return fTcoeff_parl_polparl[i];
242 fTcoeff_perp_polparl.push_back(A);
246 return fTcoeff_perp_polparl[i];
250 fTcoeff_parl_polperp.push_back(A);
254 return fTcoeff_parl_polperp[i];
258 fTcoeff_perp_polperp.push_back(A);
262 return fTcoeff_perp_polperp[i];
287 fTransAngles.clear();
288 fFacetLength.clear();
289 fTcoeff_parl_polparl.clear();
290 fTcoeff_perp_polparl.clear();
291 fTcoeff_parl_polperp.clear();
292 fTcoeff_perp_polperp.clear();
void AddTparallel_polPerpendicular(double A)
Appends a parallel transmission coefficient value to the fTcoeff_parl array.
void SetUnitX(Vector a)
Sets an orientation vector of the screen.
double GetTperpendicular_polParallel(int i)
Get the perpendicular transmission coefficient value stored at the specified index.
Vector GetUnitY()
Gets another orientation vector.
void AddTperpendicular_polParallel(double A)
Appends a perpendicular transmission coefficient value to the fTcoeff_perp array. ...
void AddTparallel_polParallel(double A)
Appends a parallel transmission coefficient value to the fTcoeff_parl array.
void SetNvalidPoints(int i)
Sets the total number of points on the screen.
void SetNormal(Vector a)
Sets the screen normal.
void AddViewangle(double A)
Appends a viewangle value to the fViewangle array.
void AddPol(Vector v)
Appends a vector to the fPols array.
double GetViewangle(int i)
Get the viewangle value stored at the specified index.
Screen(int a)
Creates an instance of a screen.
void SetCosineProjectionFactor(double a)
Sets the projection factor of the screen relative to the specular RF exit point.
double GetVmmhz0(int i)
Gets the Vmmhz0 value stored at the specified index.
void AddVec2bln(Vector v)
Appends a vector to the fVec2blns array.
double GetTparallel_polParallel(int i)
Get the parallel transmission coefficient value stored at the specified index.
void SetCentralPoint(Position a)
Sets the position of the central point of the screen.
void SetUnitY(Vector a)
Sets another orientation vector of the screen.
void SetWeightNorm(double a)
Sets the normalization factor for the weights (so they sum to 1)
double GetVmmhz_freq(int i)
Get the Vmmhz value stored at the specified index.
double CalcXindex(int i)
Calculates the X index of the screen corresponding to the specified counter value.
double GetTransmissionAngle(int i)
Get the transmission angle value stored at the specified index.
double GetNvalidPoints()
Gets the total number of points.
void AddImpactPt(Position p)
Appends a vector to the fImpactPt array.
void SetNsamples(int i)
Sets number of grid divisions for the base screen.
void AddFacetLength(double A)
Appends a facet edge length value to the fFacetLength array.
double GetTperpendicular_polPerpendicular(int i)
Get the perpendicular transmission coefficient value stored at the specified index.
double GetCosineProjectionFactor()
Gets the projection factor.
This class is a 3-vector that represents a position on the Earth's surface.
double CalcYindex(int i)
Calculates the Y index of the screen corresponding to the specified counter value.
void AddVmmhz0(double A)
Appends a Vmmhz value (for the lowest Anita frequency) to the fVmmhz0 array.
int GetNsamples()
Gets number of grid divisions for the base screen.
Vector GetVec2bln(int i)
Gets the to-balloon vector at the specified index.
double GetFacetLength(int i)
Get the facet edge length value stored at the specified index.
double GetDelay(int i)
Get the delay value stores at the specified index.
Position GetCentralPoint()
Gets the position of the screen's central point.
void AddWeight(double a)
Appends a weight value to the fWeight array.
double GetEdgeLength()
Gets the screen length.
Vector GetUnitX()
Gets an orientation vector.
void AddVmmhz_freq(double A)
Appends a Vmmhz value to the fVmmhz_freq array.
double GetIncidenceAngle(int i)
Get the incidence angle value stored at the specified index.
double GetWeightNorm()
Gets the weight normalization factor.
Position GetPosition(int i, int j)
Calculates the physical position of the screen corresponding to the specified counter value...
void SetEdgeLength(double a)
Sets the physical length of a side of the screen.
void AddTperpendicular_polPerpendicular(double A)
Appends a perpendicular transmission coefficient value to the fTcoeff_perp array. ...
This class represents a three-vector. Operators are overloaded to provide for the familiar operations...
void ResetParameters()
Resets the following screen parameters (fNvalidpoints,fVmmhz_freq,fVmmhz0,fViewangle,fDelays,fVec2blns,fPols,fImpactPt,fWeight,fWeightNorm)
void AddIncidenceAngle(double A)
Appends an incidence angle value to the fIncAngles array.
Vector GetNormal()
Gets the screen normal.
Position GetImpactPt(int i)
Gets the position at the specified index.
Vector GetPol(int i)
Gets the polarization vector at the specified index.
double GetTparallel_polPerpendicular(int i)
Get the parallel transmission coefficient value stored at the specified index.
void AddDelay(double A)
Appends a delay value to the fDelays array.
double GetWeight(int i)
Gets the weight value at the specified index.
void AddTransmissionAngle(double A)
Appends a transmission angle value to the fTransAngles array.