Rotation from topocentric to ECEF frame

Dear all,
I have been trying to compute the doppler rate for a target on ground, and to do so I need to use the dot product between the spacecraft velocity and the line of sight with respect to the target.

After propagation, I convert the velocities to ECEF using:

velocities_ecef = [inertialFrame.getTransformTo(itrf, tt).transformPVCoordinates(tpv.getPVCoordinates()).getVelocity() for tt, tpv in zip(t, spacecraftPV )]

in which spacecraftPV are the PVCoordinates after propagation.
Afterwards, I compute the spacecraft position in the topocentric frame centered in my target, using:

los_1 = station_frame.getTransformTo(itrf, date_1).transformPVCoordinates(spacecraftPV .getPVCoordinates()).getPosition()

With this, I am able to compute the position of the spacecraft with respect to the target in topocentric frame.

Now, in order to compute the dot product between the two, I need to have both of them expressed using the same vector directions: I would like to keep my sat-to-target vector and express its coordinates in the ECEF frame coordinates.

I have tried to do the same as the latest snippet of code, using the ECEF frame, but it seems to compute the position of the spacecraft in ECEF, centered at Earth’s center. What I am looking for is only a rotation of the sat-to-target vector from the topocentric frame orientation to ECEF orientation. I have looked into the Transform Class but could not work it out. Is there a way I can do this?

Thanks in advance.

The simple way is to just subtract the satellite position from the target position, with both in the ECEF frame. That gives you the relative position between them in the ECEF frame, which is what it sounds like you’re asking for.