15 #include "position.hh" 26 double fcosineProjectionFactor;
35 std::vector<double> fVmmhz_freq;
36 std::vector<double> fVmmhz0;
37 std::vector<double> fViewangle;
38 std::vector<double> fDelays;
39 std::vector<Vector> fVec2blns;
40 std::vector<Vector> fPols;
41 std::vector<Position> fImpactPt;
42 std::vector<double> fWeight;
43 std::vector<double> fIncAngles;
44 std::vector<double> fTransAngles;
46 std::vector<double> fFacetLength;
47 std::vector<double> fTcoeff_parl_polparl;
48 std::vector<double> fTcoeff_perp_polparl;
49 std::vector<double> fTcoeff_parl_polperp;
50 std::vector<double> fTcoeff_perp_polperp;
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.