Class CompoundModel
java.lang.Object
org.eclipse.scanning.api.AbstractNameable
org.eclipse.scanning.api.points.models.AbstractPointsModel
org.eclipse.scanning.api.points.models.AbstractMultiModel<IScanPointGeneratorModel>
org.eclipse.scanning.api.points.models.CompoundModel
- All Implemented Interfaces:
INameable,IScanPathModel,IScanPointGeneratorModel
This class is designed to encapsulate the information
to required to provide all the locations, with regions
of an n-Dimensional scan.
CompoundModel {
models: [ list of models]
regions: [ list of regions]
mutators: [ list of mutators ]
}
Region {
roi: geometric roi
scannables: [ list of scannable names]
}
Example:
CompoundModel {
models : [
{type: SpiralModel
xAxisName: x
yAxisName: y
...
}
]
regions : [
{
roi : {type: CircularROI
centre: [0,1]
radius: 2
}
scannables: ["x", "y"]
}
]
mutators : [
{
RandomOffsetMutator: {
seed: 10
axes: ["x"]
max_offset: {
"x":0.1
}
}
}
]
}
-
Field Summary
Fields inherited from class org.eclipse.scanning.api.points.models.AbstractPointsModel
HARDCODED_UNITS, pcs -
Constructor Summary
ConstructorsConstructorDescriptionCompoundModel(List<? extends IScanPointGeneratorModel> ms) CompoundModel(CompoundModel toCopy) Returns a copy (clone) of the givenCompoundModel.CompoundModel(IScanPointGeneratorModel... models) CompoundModel(IScanPointGeneratorModel model, IROI region) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddData(IScanPointGeneratorModel model, Collection<IROI> rois) Method to add a model and regions which are assumed to act on the model provided and are assigned to it using its scannable names.voidaddMutators(List<IMutator> mutators) voidaddRegions(Collection<ScanRegion> regions) booleandoubleThe names of the axes which will be scanned by this model.inthashCode()booleanIftruethe scan is continuous if possible, i.e.voidsetData(IScanPointGeneratorModel model, IROI region) voidsetData(IScanPointGeneratorModel model, IROI region, List<String> names) voidsetDuration(double duration) voidsetModelsVarArgs(IScanPointGeneratorModel... models) voidsetMutators(List<IMutator> mutators) voidsetRegions(Collection<ScanRegion> regions) voidsetRegionsVarArgs(ScanRegion... regions) toString()Methods inherited from class org.eclipse.scanning.api.points.models.AbstractMultiModel
addModel, clear, getFirstModel, getModels, setModelsMethods inherited from class org.eclipse.scanning.api.points.models.AbstractPointsModel
addPropertyChangeListener, getSummary, getUnits, isAlternating, removePropertyChangeListener, setAlternating, setContinuous, setUnits, supportsAlternating, supportsContinuous, supportsRandomOffset, supportsVertical, updateFromPropertiesMapMethods inherited from class org.eclipse.scanning.api.AbstractNameable
getName, setName
-
Constructor Details
-
CompoundModel
public CompoundModel() -
CompoundModel
Returns a copy (clone) of the givenCompoundModel.- Parameters:
toCopy- the model to copy
-
CompoundModel
-
CompoundModel
-
CompoundModel
-
-
Method Details
-
setData
-
setData
-
addData
Method to add a model and regions which are assumed to act on the model provided and are assigned to it using its scannable names.- Parameters:
model-rois-
-
setModelsVarArgs
-
getRegions
-
setRegions
-
setRegionsVarArgs
-
getMutators
-
setMutators
-
getDuration
public double getDuration() -
setDuration
public void setDuration(double duration) -
hashCode
public int hashCode()- Overrides:
hashCodein classAbstractMultiModel<IScanPointGeneratorModel>
-
equals
- Overrides:
equalsin classAbstractMultiModel<IScanPointGeneratorModel>
-
toString
- Overrides:
toStringin classAbstractMultiModel<IScanPointGeneratorModel>
-
isContinuous
public boolean isContinuous()Description copied from interface:IScanPointGeneratorModelIftruethe scan is continuous if possible, i.e. the motors continue to move while the detectors are exposed, iffalsethe motors stop at each point for the detectors are exposed. For a scan to be continous, generally it must done by malcolm device, i.e. for a GDA point of view the scan contains exactly one runnable device and that must be a malcolm device. Additionally continuous scanning is only possible for certain path models, e.g.TwoAxisGridPointsModel, where even then the scan will only be continuous in the fast axis, and step in the slow axis, where the x-axis is the fast axis by default.- Specified by:
isContinuousin interfaceIScanPointGeneratorModel- Overrides:
isContinuousin classAbstractPointsModel- Returns:
trueif the scan should be continuous,falseotherwise.
-
addMutators
-
addRegions
-
getScannableNames
Description copied from interface:IScanPathModelThe names of the axes which will be scanned by this model.- Specified by:
getScannableNamesin interfaceIScanPathModel- Overrides:
getScannableNamesin classAbstractPointsModel- Returns:
-