what does fvc::interpolate(rho) actually do in interFoam?

I was wondering about fvc::interpolate(rho) in createFields.H file of interFoam. What actually it does?

// Mass flux
surfaceScalarField rhoPhi
(
IOobject
(
“rhoPhi”,
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
fvc::interpolate(rho)*phi
);

Hi @sourav8016 This question is about the deep usage of OpenFOAM. It beyonded the range of this forum. You can talk about this question on www.cfdonline.com.