Class AbstractSVDBasedModel
java.lang.Object
org.scictrl.mp.orbitcorrect.correction.models.AbstractOCModel
org.scictrl.mp.orbitcorrect.correction.models.AbstractSVDBasedModel
- All Implemented Interfaces:
IOrbitCorrectionModel
,ISVDOrbitCorrectionModel
,IConfigurable
,IOrientationMarker
- Direct Known Subclasses:
AbstractSVDOrbitCorrectionModel
,CorrectorStrengthReductionModel
,ResponseMatrixBumpModel
public abstract class AbstractSVDBasedModel
extends AbstractOCModel
implements ISVDOrbitCorrectionModel, IConfigurable
Abstract AbstractSVDBasedModel class.
- Author:
- igor@scictrl.com
-
Field Summary
Modifier and TypeFieldDescriptionprotected double
Calculated correctors RMSprotected double[]
Calculates eigenvaluesprotected int
Calculated eigenvectors usedprotected double
Calculated max correctionprotected double
Minimal eigenvalues thresholdprotected double
Minimal eigenvalues threshold for strength reductionprotected double
Calculated strength reduction BPM changeprotected double
Calculated strength reduction corrector changeprotected double[]
Eigenvectors used for strength reductionprotected int
Calculated eigenvectors used for strength reductionprotected boolean
Strength reduction enabledprotected double
Strength reduction scaleprotected double
Calculated Beam RMS theoretical predictionFields inherited from class org.scictrl.mp.orbitcorrect.correction.models.AbstractOCModel
debug, name
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
addReduction
(ElementList<BPMonitor> monitors, ElementList<AbstractCorrector> correctors, ResponseMatrix responseMatrix, double[] correction) makeCorrection method comment.void
configure
(org.apache.commons.configuration.Configuration conf) configure.double[]
getEigenvalues.int
getEigenvectorsUsed.double
getMinimalEigenvalue.double
Getter for the fieldminimalReductionEigenvalue
.boolean
isReductionEnabled.protected abstract Correction
makeCorrection
(ElementList<AbstractCorrector> correctors, Orbit orbit, ResponseMatrix responseMatrix, DataBush db, OrbitCorrectionOperator op) makeCorrection.protected void
makeSVDInversion
(double[] B, ResponseMatrix responseMatrix, double[] correction, DataBush db) makeSVDInversion.void
setMinimalEigenvalue
(double newMinimalEigenvalue) setMinimalEigenvalue.void
setMinimalReductionEigenvalue
(double newMinimalReductionEigenvalue) Setter for the fieldminimalReductionEigenvalue
.void
setReductionEnabled
(boolean newReductionEnabled) Setter for the fieldreductionEnabled
.void
setReductionScale
(double newReductionScale) Setter for the fieldreductionScale
.Methods inherited from class org.scictrl.mp.orbitcorrect.correction.models.AbstractOCModel
getName, getOrientation, initialize, isHorizontal, isVertical, read, readOther, testCorrectors, testMonitors
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.scictrl.mp.orbitcorrect.correction.IOrbitCorrectionModel
calculateCorrection, getName, initialize
Methods inherited from interface org.scictrl.mp.orbitcorrect.IOrientationMarker
getOrientation, isHorizontal, isVertical
-
Field Details
-
maxCorrection
protected double maxCorrectionCalculated max correction -
theoreticalBeamRMS
protected double theoreticalBeamRMSCalculated Beam RMS theoretical prediction -
correctorRMS
protected double correctorRMSCalculated correctors RMS -
eigenvalues
protected double[] eigenvaluesCalculates eigenvalues -
minimalEigenvalue
protected double minimalEigenvalueMinimal eigenvalues threshold -
eigenvectorsUsed
protected int eigenvectorsUsedCalculated eigenvectors used -
reductionEnabled
protected boolean reductionEnabledStrength reduction enabled -
reductionScale
protected double reductionScaleStrength reduction scale -
reductedCorrectorChange
protected double reductedCorrectorChangeCalculated strength reduction corrector change -
reductedBPMChange
protected double reductedBPMChangeCalculated strength reduction BPM change -
minimalReductionEigenvalue
protected double minimalReductionEigenvalueMinimal eigenvalues threshold for strength reduction -
reductionEigenvectorsUsed
protected int reductionEigenvectorsUsedCalculated eigenvectors used for strength reduction -
reductionEigenvalues
protected double[] reductionEigenvaluesEigenvectors used for strength reduction
-
-
Constructor Details
-
AbstractSVDBasedModel
public AbstractSVDBasedModel()RingKeeper constructor comment.
-
-
Method Details
-
getMinimalEigenvalue
public double getMinimalEigenvalue()getMinimalEigenvalue.
- Specified by:
getMinimalEigenvalue
in interfaceISVDOrbitCorrectionModel
- Returns:
- a double
-
getEigenvectorsUsed
public int getEigenvectorsUsed()getEigenvectorsUsed.
- Specified by:
getEigenvectorsUsed
in interfaceISVDOrbitCorrectionModel
- Returns:
- a int
-
getEigenvalues
public double[] getEigenvalues()getEigenvalues.
- Specified by:
getEigenvalues
in interfaceISVDOrbitCorrectionModel
- Returns:
- an array of
invalid reference
double
-
addReduction
protected void addReduction(ElementList<BPMonitor> monitors, ElementList<AbstractCorrector> correctors, ResponseMatrix responseMatrix, double[] correction) throws InconsistentDataException makeCorrection method comment.- Parameters:
monitors
- aElementList
objectcorrectors
- aElementList
objectresponseMatrix
- aResponseMatrix
objectcorrection
- an array ofinvalid reference
double
- Throws:
InconsistentDataException
- if any.
-
getMinimalReductionEigenvalue
public double getMinimalReductionEigenvalue()Getter for the field
minimalReductionEigenvalue
.- Returns:
- double
-
isReductionEnabled
public boolean isReductionEnabled()isReductionEnabled.
- Returns:
- boolean
-
makeSVDInversion
protected void makeSVDInversion(double[] B, ResponseMatrix responseMatrix, double[] correction, DataBush db) throws InconsistentDataException makeSVDInversion.
- Parameters:
B
- an array ofinvalid reference
double
responseMatrix
- aResponseMatrix
objectcorrection
- an array ofinvalid reference
double
db
- aDataBush
object- Throws:
InconsistentDataException
- if any.
-
setMinimalEigenvalue
public void setMinimalEigenvalue(double newMinimalEigenvalue) setMinimalEigenvalue.
- Specified by:
setMinimalEigenvalue
in interfaceISVDOrbitCorrectionModel
- Parameters:
newMinimalEigenvalue
- double
-
setMinimalReductionEigenvalue
public void setMinimalReductionEigenvalue(double newMinimalReductionEigenvalue) Setter for the field
minimalReductionEigenvalue
.- Parameters:
newMinimalReductionEigenvalue
- double
-
setReductionEnabled
public void setReductionEnabled(boolean newReductionEnabled) Setter for the field
reductionEnabled
.- Parameters:
newReductionEnabled
- boolean
-
setReductionScale
public void setReductionScale(double newReductionScale) Setter for the field
reductionScale
.- Parameters:
newReductionScale
- double
-
configure
public void configure(org.apache.commons.configuration.Configuration conf) configure.
- Specified by:
configure
in interfaceIConfigurable
- Parameters:
conf
- aConfiguration
object
-
makeCorrection
protected abstract Correction makeCorrection(ElementList<AbstractCorrector> correctors, Orbit orbit, ResponseMatrix responseMatrix, DataBush db, OrbitCorrectionOperator op) throws InconsistentDataException makeCorrection.
- Parameters:
correctors
- aElementList
objectorbit
- aOrbit
objectresponseMatrix
- aResponseMatrix
objectdb
- aDataBush
objectop
- aOrbitCorrectionOperator
object- Returns:
- a
Correction
object - Throws:
InconsistentDataException
- if any.
-