
Public Types | |
| enum | Polarization { NONE, VERTICAL, HORIZONTAL, SLANT, RHC, LHC } |
Public Member Functions | |
| Antenna () | |
| virtual void | rfTransmit (Emission *const em) |
| RfSystem * | getSystem () |
| const RfSystem * | getSystem () const |
| virtual bool | setSystem (RfSystem *const p) |
| int | getMaxEmissions () const |
| int | getMaxTargets () const |
| LCreal | getPolarizationGain (const Polarization p1) const |
| Polarization | getPolarization () const |
| LCreal | getGain () const |
| const Basic::LcTable * | gainPatternTable () const |
| bool | isGainPatternDegrees () const |
| LCreal | getTransmitThreshold () const |
| virtual bool | setPolarization (const Polarization p) |
| virtual bool | setThreshold (const LCreal th) |
| virtual bool | setGain (LCreal const g) |
| virtual bool | setSlotPolarization (Basic::LcString *const v) |
| virtual bool | setSlotThreshold (Basic::LcPower *const p) |
| virtual bool | setSlotGain (const Basic::LcNumber *const g) |
| virtual bool | setSlotGainPattern (Basic::LcTable *const tbl) |
| virtual bool | setSlotGainPatternDeg (const Basic::LcNumber *const g) |
| virtual bool | onRfEmissionReturnEventAntenna (Emission *const) |
| virtual bool | onStartScanEvent (Basic::LcInt *const bar) |
| virtual bool | onEndScanEvent (Basic::LcInt *const bar) |
| virtual bool | onRfEmissionEvent (Emission *const) |
| virtual bool | event (const int event, Basic::LcObject *const obj=0) |
| virtual void | reset () |
Static Public Member Functions | |
| static LCreal | getEffectiveArea (const LCreal gain, const LCreal lambda) |
Protected Member Functions | |
| void | clearQueues () |
| virtual void | process (const LCreal dt) |
Protected Attributes | |
| QStack< Emission * > | freeEmStack |
| QQueue< Emission * > | inUseEmQueue |
| bool | clearing |
Private Attributes | |
| RfSystem * | sys |
| Polarization | polar |
| LCreal | gain |
| Basic::LcTable * | gainPattern |
| LCreal | threshold |
| bool | gainPatternDeg |
Static Private Attributes | |
| static const int | MAX_EMISSIONS = 10000 |
| Eaagles::Simulation::Antenna::Antenna | ( | ) |
| void Eaagles::Simulation::Antenna::rfTransmit | ( | Emission *const | em | ) | [virtual] |
Transmit a RF emission packet at all active players.
| RfSystem* Eaagles::Simulation::Antenna::getSystem | ( | ) | [inline] |
| const RfSystem* Eaagles::Simulation::Antenna::getSystem | ( | ) | const [inline] |
| bool Eaagles::Simulation::Antenna::setSystem | ( | RfSystem *const | p | ) | [virtual] |
Set pointer to our companion system.
| int Eaagles::Simulation::Antenna::getMaxEmissions | ( | ) | const [inline] |
System limits.
| int Eaagles::Simulation::Antenna::getMaxTargets | ( | ) | const [inline] |
| LCreal Eaagles::Simulation::Antenna::getPolarizationGain | ( | const Polarization | p1 | ) | const |
Get the gain from the antenna polerization match (SIMAF Radar Fundamentals for EW, slide #273)
| Polarization Eaagles::Simulation::Antenna::getPolarization | ( | ) | const [inline] |
| const Basic::LcTable* Eaagles::Simulation::Antenna::gainPatternTable | ( | ) | const [inline] |
Gain pattern.
| bool Eaagles::Simulation::Antenna::isGainPatternDegrees | ( | ) | const [inline] |
| LCreal Eaagles::Simulation::Antenna::getTransmitThreshold | ( | ) | const [inline] |
Antenna threshold (watts).
| virtual bool Eaagles::Simulation::Antenna::setPolarization | ( | const Polarization | p | ) | [inline, virtual] |
Member functions.
| bool Eaagles::Simulation::Antenna::setThreshold | ( | const LCreal | th | ) | [virtual] |
sets our antenna threshold
| bool Eaagles::Simulation::Antenna::setGain | ( | LCreal const | g | ) | [virtual] |
sets the gain
| bool Eaagles::Simulation::Antenna::setSlotPolarization | ( | Basic::LcString *const | v | ) | [virtual] |
calls setPolarization()
slot functions that need public access because there is no corresponding member function
| bool Eaagles::Simulation::Antenna::setSlotThreshold | ( | Basic::LcPower *const | p | ) | [virtual] |
converts a power to watts and sets our antenna threshold
| bool Eaagles::Simulation::Antenna::setSlotGain | ( | const Basic::LcNumber *const | g | ) | [virtual] |
calls setGain()
| bool Eaagles::Simulation::Antenna::setSlotGainPattern | ( | Basic::LcTable *const | tbl | ) | [virtual] |
sets our gain pattern
| bool Eaagles::Simulation::Antenna::setSlotGainPatternDeg | ( | const Basic::LcNumber *const | g | ) | [virtual] |
sets the gain pattern is in degrees flag
| bool Eaagles::Simulation::Antenna::onRfEmissionReturnEventAntenna | ( | Emission * | const | ) | [virtual] |
process events for RF Emission not sent by us. 1) Build a list of emission packets from the queue and compute the Line-Of-Sight (LOS) vectors back to the transmitter. 2) Transform LOS vectors to antenna coordinates 3) Compute antenna gains in the direction of the transmitter 4) Compute Antenna Effective Gains 5) Compute Antenna Effective Area and Polarization Gains 6) Compute total receiving antenaa gain and send the emission to our sensor
| bool Eaagles::Simulation::Antenna::onStartScanEvent | ( | Basic::LcInt *const | bar | ) | [virtual] |
process the start of a scan
ScanGimbal Interface -- Event handler(s)
| bool Eaagles::Simulation::Antenna::onEndScanEvent | ( | Basic::LcInt *const | bar | ) | [virtual] |
process the end of a scan
| bool Eaagles::Simulation::Antenna::onRfEmissionEvent | ( | Emission * | const | ) | [virtual] |
| virtual bool Eaagles::Simulation::Antenna::event | ( | const int | event, | |
| Basic::LcObject *const | obj = 0 | |||
| ) | [virtual] |
Component Interface.
| void Eaagles::Simulation::Antenna::reset | ( | ) | [virtual] |
Reset parameters.
| void Eaagles::Simulation::Antenna::clearQueues | ( | ) | [protected] |
clear out all queues
| void Eaagles::Simulation::Antenna::process | ( | const LCreal | dt | ) | [protected, virtual] |
System class Interface -- phase() callbacks.
QStack<Emission*> Eaagles::Simulation::Antenna::freeEmStack [protected] |
Free emission stack.
QQueue<Emission*> Eaagles::Simulation::Antenna::inUseEmQueue [protected] |
In use emission queue.
bool Eaagles::Simulation::Antenna::clearing [protected] |
Clearing tracks & queue in progress.
const int Eaagles::Simulation::Antenna::MAX_EMISSIONS = 10000 [static, private] |
Max size of emission queues and arrays.
RfSystem* Eaagles::Simulation::Antenna::sys [private] |
Assigned R/F system (e.g., sensor, radio).
Polarization (enum).
Antenna parameters
LCreal Eaagles::Simulation::Antenna::gain [private] |
Gain (no units).
Gain pattern (Table).
Antenna threshold; don't send emission if Power is below this threshold (watts)
bool Eaagles::Simulation::Antenna::gainPatternDeg [private] |
Gain pattern is in degrees flag (else radians).
1.5.0