M1M3 Support System
|
Abstract parent class of all force components. More...
#include <ForceComponent.h>
Public Member Functions | |
ForceComponent (const char *name, ForceComponentSettings *forceComponentSettings) | |
Construct ForceComponent. | |
const char * | getName () |
Returns force component name. | |
bool | isInitialising () |
Returns true if the force component is being initialised. | |
bool | isEnabled () |
Returns true if the force component is enabled. | |
bool | isDisabling () |
Returns true if the force component is being disabled. | |
bool | isActive () |
Returns true if the force compoment is active - shall be calculated. | |
void | enable () |
Enable the force component. | |
void | disable () |
Disable the force component. | |
virtual void | postEnableDisableActions ()=0 |
Called after enable/disable changes. | |
void | update () |
void | reset () |
Protected Member Functions | |
virtual void | postUpdateActions ()=0 |
Called after update to forces. | |
Abstract parent class of all force components.
Forces acting on mirror are calculated as sum of 6 scalar forces (lateral forces in x,y and z direction and rotational forces (moments) around x,y and z axis). Individual actuators forces are summed in FinalForceComponent. Considered forces and demands are:
Force component can be enabled or disabled. When it is disabled, its contribution is scaled linearly to zero to prevent overstressing the mirror. Commanding of the enabled/disabled states and checking if the forces are enabled before being applied is performed in the ForceController class.
LSST::M1M3::SS::ForceComponent::ForceComponent | ( | const char * | name, |
ForceComponentSettings * | forceComponentSettings ) |
Construct ForceComponent.
name | force component name |
forceComponentSettings |
void LSST::M1M3::SS::ForceComponent::disable | ( | ) |
Disable the force component.
Starts to gradually scales force contribution to
|
inline |
Returns force component name.
|
inline |
Returns true if the force compoment is active - shall be calculated.
|
inline |
Returns true if the force component is being disabled.
|
inline |
Returns true if the force component is enabled.
|
inline |
Returns true if the force component is being initialised.
|
pure virtual |
Called after enable/disable changes.
Publish a state change for the component Pure virtual, needs to be overriden in children.
Implemented in LSST::M1M3::SS::AccelerationForceComponent, LSST::M1M3::SS::ActiveOpticForceComponent, LSST::M1M3::SS::AzimuthForceComponent, LSST::M1M3::SS::BalanceForceComponent, LSST::M1M3::SS::ElevationForceComponent, LSST::M1M3::SS::FinalForceComponent, LSST::M1M3::SS::OffsetForceComponent, LSST::M1M3::SS::StaticForceComponent, LSST::M1M3::SS::ThermalForceComponent, and LSST::M1M3::SS::VelocityForceComponent.
|
protectedpure virtual |
Called after update to forces.
Check for forces that need to be clipped. Update SAL. Pure virtual, needs to be overriden in children.
Implemented in LSST::M1M3::SS::AccelerationForceComponent, LSST::M1M3::SS::ActiveOpticForceComponent, LSST::M1M3::SS::AzimuthForceComponent, LSST::M1M3::SS::BalanceForceComponent, LSST::M1M3::SS::ElevationForceComponent, LSST::M1M3::SS::FinalForceComponent, LSST::M1M3::SS::OffsetForceComponent, LSST::M1M3::SS::StaticForceComponent, LSST::M1M3::SS::ThermalForceComponent, and LSST::M1M3::SS::VelocityForceComponent.