-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ref: Move the full jacobian and bound track parameters to the parameter_transporter and merge it with the parameter_resetter #880
base: main
Are you sure you want to change the base?
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
c1e16f3
to
aa850d6
Compare
aa850d6
to
98994d4
Compare
bb3139f
to
c044806
Compare
c044806
to
25e7108
Compare
|
|
||
/// Full jacobian | ||
bound_matrix_type m_full_jacobian = | ||
matrix_operator().template identity<e_bound_size, e_bound_size>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we don't have to initialize this as the identity matrix if the compiler says OK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just moved this line over from the stepper, will update
0ace030
to
d9f2e0c
Compare
d9f2e0c
to
5702171
Compare
…orter and merge the actors that modify the bound track parameters
5702171
to
2988413
Compare
|
Please make sure that it runs OK in traccc before you merge the PR into the repository |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Until then, this should be held a while..
Move the data to the actor that updates them, to pool the update functionality with the corresponding data in a single place.
It is currently possible to call an actor like the
pointwise_material_interactor
in the actor chain while forgetting to register theparameter_transporter
in the same actor chain, even though the material interactor depends on the correct update of the bound track parameters. This PR makes sure, that dependent actors like the material interactor will no longer compile without the parameter_transporter by making their call operator take the parameter transporter state as an argument, which now contains the bound track parameters. Furthermore, this is abstracted in a new type, theparamerter_updater
, that additionally makes sure that theparameter_resetter
is called correctly, as well. Any actors that depend on the updated bound parameters and covariance can be given to this new type as template parameter list and will automatically be inserted correctly in the actor chain.In the future, it should be possible to add a second state to the parameter transporter, which does not own the bound track parameters but takes a pointer from the CKF to the current bound track parameters. This should avoid copying the bound track parameters between the CKF and the propagation. At the same time, the stepper becomes easier to reuse in a simulation context with this PR, since it is not mandatory anymore to hold the bound track parameters and full jacobian in memory.