The Component class is an abstract class to handle the electrical power and the update timing of components.
This class has two virtual functions: MainRoutine and FastUpdate. Both are called periodically. Users can select the functions according to the required calling period.
The MainRoutine function is the components' main function. Most of the processing is handled in this function.
The FastUpdate function handles the processes that need to be computed in a high-speed cycle. So, users will use this function only when high-frequency disturbances need to be calculated (e.g., RW jitter).
FastUpdate function is not a pure virtual function, so components without fast calculation do not need to override this function.
As explained in the FastTick section, ITickable::needs_fast_update_ flag must be true to call FastUpdate. So, if users want to use FastUpdate, call ITickable::SetNeedsFastUpdate(true) in the constructor of each component.
ITickable::needs_fast_update_ flag must be true to call FastUpdate. So, if you want to use FastUpdate, call ITickable::SetNeedsFastUpdate(true) in the constructor of each component.