Change definition of data product MCHit to change five doubles to floats, and one std::vector<double> (representing a Cartesian xyz 3-vector) to float3. Purpose is to save memory and disk space. The api of the MCHit class changes nontrivially because of the accessor that accesses the vector data member.
One issue that I don't know how to solve, or if it is even a problem, is how to convert the std::vector to float array during i/o so that old data can be read (backward compatibility).
Updates are on feature branches feature/greenlee_small_mchit of lardata and larreco. The class is defined in lardata. The larreco update is because of the api change.