PhysicalVolumeInfoCollection

From Mu2eWiki
Revision as of 15:01, 17 August 2017 by Rlc (talk | contribs)
Jump to navigation Jump to search

Expert.jpeg This page page needs expert review!

Actually, the definition of a data product is slightly broader than this. The art::Run object is just an art::RunId object plus a collection of data products; similarly for the art::SubRun object. An example of a data product in the Run record is PhysicalVolumeInfoCollection. When we intialize Geant4, we do it in the beginRun method of Mu2eG4/src/G4_plugin.cc. At the end of Geant4 initialization we create a std::vector of all physical volumes known to G4 and we put this information into the art::Run object as a PhysicalVolumeInfoCollection. The SimParticle class holds two indices into this collection; one describes the volume in which the particle was born and the other describes the volume in which the particle stopped.

The components are:

  • PhysicalVolumeInfo - a volume number and text name of the volume
  • PhysicalVolumeInfoCollection - a vector of PhysicalVolumeInfo
  • PhysicalVolumeInfoMultiCollection - a vector of PhysicalVolumeInfoCollection

The PhysicalVolumeInfoMultiCollection is needed because different stages of a simulation might use completely different geometries, which have different numbers for the volumes.