If I pass ROEChargeInjection to the wrapper, it does not calls it set_express_matrix_from_rows_and_express and set_store_trap_states_matrix methods, instead reverting to the methods of the default ROE class.
I have put a print(roe->type) before the following line in add_cti.cpp`:
roe->set_express_matrix_from_rows_and_express(n_rows, express, offset);
And the type is indeed type 1, indicating that the Python wrapper appears to be passing the correct type.
My best guess is that the inheritance structure is failing to overwrite the methods correctly?
If I pass ROEChargeInjection to the wrapper, it does not calls it
set_express_matrix_from_rows_and_expressandset_store_trap_states_matrixmethods, instead reverting to the methods of the defaultROEclass.I have put a
print(roe->type) before the following line inadd_cti.cpp`:roe->set_express_matrix_from_rows_and_express(n_rows, express, offset);And the type is indeed type 1, indicating that the Python wrapper appears to be passing the correct type.
My best guess is that the inheritance structure is failing to overwrite the methods correctly?