TGainPattern
- The type of antenna gain pattern.public abstract class BaseDualPolarizedTransmittingAntennaExtension<TGainPattern extends BaseGainPattern> extends BaseTransmittingAntennaExtension<TGainPattern>
ObjectExtension
which represents a dual polarized transmitting antenna.Modifier | Constructor and Description |
---|---|
protected |
BaseDualPolarizedTransmittingAntennaExtension(BaseDualPolarizedTransmittingAntennaExtension<TGainPattern> existingInstance,
CopyContext context)
Initializes a new instance as a copy of an existing instance.
|
protected |
BaseDualPolarizedTransmittingAntennaExtension(PrimaryPolarizationChannelSource primaryPolarizationInputSignalProcessor,
OrthogonalPolarizationChannelSource orthogonalPolarizationInputSignalProcessor,
TGainPattern antennaGainPattern)
Initialize a new instance based on the given signal processor which produces primary polarization channel signal, signal processor which produces the orthogonal polarization channel signal, and gain
pattern.
|
protected |
BaseDualPolarizedTransmittingAntennaExtension(TGainPattern antennaGainPattern)
Initializes a new instance with a given antenna gain pattern.
|
Modifier and Type | Method and Description |
---|---|
protected abstract boolean |
checkForSameDefinition(BaseDualPolarizedTransmittingAntennaExtension<TGainPattern> other)
Checks to determine if another instance has the same definition as this instance and
returns
true if it does. |
protected boolean |
checkForSameDefinition(BaseTransmittingAntennaExtension<TGainPattern> other)
Checks to determine if another instance has the same definition as this instance and
returns
true if it does. |
protected int |
computeCurrentDefinitionHashCode()
Computes a hash code based on the current properties of this object.
|
void |
enumerateDependencies(DependencyEnumerator enumerator)
Enumerates the dependencies of this object by calling
DependencyEnumerator#enumerate(T) for each object that this object directly depends upon. |
SignalProcessor |
getInputSignalProcessor()
Gets the signal processor which produces the set of signals to transmit through the antenna.
|
OrthogonalPolarizationChannelSource |
getOrthogonalPolarizationInputSignalProcessor()
Gets the signal processor which produces the set of signals to transmit for the orthogonal polarization channel.
|
PrimaryPolarizationChannelSource |
getPrimaryPolarizationInputSignalProcessor()
Gets the signal processor which produces the set of signals to transmit for the primary polarization channel.
|
SignalEvaluator |
getSignalTransmissionEvaluator(EvaluatorGroup group,
Vector reflectedVector,
SignalPropagationGraph graph)
Gets an evaluator which produces a set of transmit signals for both the primary and orthogonal polarization channels.
|
void |
setInputSignalProcessor(SignalProcessor value)
Sets the signal processor which produces the set of signals to transmit through the antenna.
|
void |
setOrthogonalPolarizationInputSignalProcessor(OrthogonalPolarizationChannelSource value)
Sets the signal processor which produces the set of signals to transmit for the orthogonal polarization channel.
|
void |
setPrimaryPolarizationInputSignalProcessor(PrimaryPolarizationChannelSource value)
Sets the signal processor which produces the set of signals to transmit for the primary polarization channel.
|
checkForSameDefinition, getAntennaGainPattern, getPolarizationSource, getService, getSignalTransmissionAxes, setAntennaGainPattern, setPolarizationSource
checkForSameDefinition, getOwner
areSameDefinition, areSameDefinition, areSameDefinition, areSameDefinition, areSameDefinition, clone, collectionItemsAreSameDefinition, collectionItemsAreSameDefinition, collectionItemsAreSameDefinition, dictionaryItemsAreSameDefinition, freeze, freezeAggregatedObjects, getCollectionHashCode, getCollectionHashCode, getCollectionHashCode, getDefinitionHashCode, getDefinitionHashCode, getDefinitionHashCode, getDefinitionHashCode, getDefinitionHashCode, getDefinitionHashCode, getDictionaryHashCode, getIsFrozen, isSameDefinition, throwIfFrozen
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getOwner
protected BaseDualPolarizedTransmittingAntennaExtension(TGainPattern antennaGainPattern)
antennaGainPattern
- The gain pattern to apply to incoming signals based on the angle off of the
boresight (z-axis) of the parent object's Axes
.protected BaseDualPolarizedTransmittingAntennaExtension(PrimaryPolarizationChannelSource primaryPolarizationInputSignalProcessor, OrthogonalPolarizationChannelSource orthogonalPolarizationInputSignalProcessor, TGainPattern antennaGainPattern)
primaryPolarizationInputSignalProcessor
- The signal processor which produces the set of signals to transmit for the primary polarization channel.orthogonalPolarizationInputSignalProcessor
- The signal processor which produces the set of signals to transmit for the orthogonal polarization channel.antennaGainPattern
- The gain pattern to apply to incoming signals based on the angle off of the
boresight (z-axis) of the parent object's Axes
.protected BaseDualPolarizedTransmittingAntennaExtension(@Nonnull BaseDualPolarizedTransmittingAntennaExtension<TGainPattern> existingInstance, @Nonnull CopyContext context)
See ICloneWithContext.clone(CopyContext)
for more information about how to implement this constructor
in a derived class.
existingInstance
- The existing instance to copy.context
- A CopyContext
that controls the depth of the copy.ArgumentNullException
- Thrown when existingInstance
or context
is null
.protected final boolean checkForSameDefinition(BaseTransmittingAntennaExtension<TGainPattern> other)
true
if it does. Derived classes MUST override this method and check
all new fields introduced by the derived class for definitional equivalence. It is NOT necessary
to check base class fields because the base class will already have done that. When overriding this method,
you should NOT call the base implementation because it will return false
for all derived-class instances.
Derived classes should check the type of other
to preserve the symmetric nature of IEquatableDefinition.isSameDefinition(java.lang.Object)
.checkForSameDefinition
in class BaseTransmittingAntennaExtension<TGainPattern extends BaseGainPattern>
other
- The other instance to compare to this one.true
if the two objects are defined equivalently; otherwise false
.protected abstract boolean checkForSameDefinition(BaseDualPolarizedTransmittingAntennaExtension<TGainPattern> other)
true
if it does. Derived classes MUST override this method and check
all new fields introduced by the derived class for definitional equivalence. It is NOT necessary
to check base class fields because the base class will already have done that. When overriding this method,
you should NOT call the base implementation because it will return false
for all derived-class instances.
Derived classes should check the type of other
to preserve the symmetric nature of IEquatableDefinition.isSameDefinition(java.lang.Object)
.other
- The other instance to compare to this one.true
if the two objects are defined equivalently; otherwise false
.protected int computeCurrentDefinitionHashCode()
BaseDualPolarizedTransmittingAntennaExtension.checkForSameDefinition(agi.foundation.communications.antennas.BaseTransmittingAntennaExtension<TGainPattern>)
method.computeCurrentDefinitionHashCode
in class BaseTransmittingAntennaExtension<TGainPattern extends BaseGainPattern>
public void enumerateDependencies(DependencyEnumerator enumerator)
DependencyEnumerator#enumerate(T)
for each object that this object directly depends upon.
Derived classes which contain additional dependencies MUST override this method, call the base
implementation, and enumerate dependencies introduced by the derived class.enumerateDependencies
in interface IEnumerateDependencies
enumerateDependencies
in class BaseTransmittingAntennaExtension<TGainPattern extends BaseGainPattern>
enumerator
- The enumerator that is informed of the dependencies of this object.public SignalProcessor getInputSignalProcessor()
getInputSignalProcessor
in interface ISignalToTransmitService
getInputSignalProcessor
in class BaseTransmittingAntennaExtension<TGainPattern extends BaseGainPattern>
PropertyInvalidException
- Thrown if the instance set is not of type PrimaryPolarizationChannelSource
.public void setInputSignalProcessor(SignalProcessor value)
setInputSignalProcessor
in class BaseTransmittingAntennaExtension<TGainPattern extends BaseGainPattern>
PropertyInvalidException
- Thrown if the instance set is not of type PrimaryPolarizationChannelSource
.public final PrimaryPolarizationChannelSource getPrimaryPolarizationInputSignalProcessor()
public final void setPrimaryPolarizationInputSignalProcessor(PrimaryPolarizationChannelSource value)
public final OrthogonalPolarizationChannelSource getOrthogonalPolarizationInputSignalProcessor()
public final void setOrthogonalPolarizationInputSignalProcessor(OrthogonalPolarizationChannelSource value)
public SignalEvaluator getSignalTransmissionEvaluator(EvaluatorGroup group, Vector reflectedVector, SignalPropagationGraph graph)
PrimaryPolarizationChannelIdentifier
is added to the data collection to identify the signals as a primary polarization channel signal.
For signals transmitted by the orthogonal polarization channel, an OrthogonalPolarizationChannelIdentifier
is added to the data collection to identify the signals as an orthogonal polarization channel signal. If the
PolarizationSource
(get
/ set
) property returns an instance of
PolarizationSource
(get
/ set
), the primary channel polarization signal's data collection will contain a
Polarization
instance produced by the evaluator obtained from the polarization source.
Likewise, the orthogonal polarization signal's data collection will contain an orthogonal
Polarization
instance which is constructed from the primary channel polarization.getSignalTransmissionEvaluator
in interface ISignalTransmissionService
getSignalTransmissionEvaluator
in class BaseTransmittingAntennaExtension<TGainPattern extends BaseGainPattern>
group
- The evaluator group in which to create the evaluator.reflectedVector
- The link geometry used by the antenna gain pattern.graph
- The graph of the communication links used to propagate signals.ArgumentNullException
- Thrown if group
, reflectedVector
, or graph
is null
.PropertyInvalidException
- Thrown if AntennaGainPattern
(get
/ set
), PrimaryPolarizationInputSignalProcessor
(get
/ set
), or
OrthogonalPolarizationInputSignalProcessor
(get
/ set
) is null
.