#include "ParallelWorldParam.hh" #include "G4VPhysicalVolume.hh" #include "G4Box.hh" #include "G4Material.hh" #include "G4SystemOfUnits.hh" ParallelWorldParam::ParallelWorldParam() :G4VPVParameterisation() {;} ParallelWorldParam::~ParallelWorldParam() {;} void ParallelWorldParam::ComputeTransformation( const G4int copyNo, G4VPhysicalVolume* physVol ) const { // Length of container in ParallelWorldConstruction G4double containerLength = 1900.*CLHEP::mm; // Place volume at spacing of 25 mm // - Start placing volumes at source: z = -containerLength/2 // - Shift by half the tickness of volume (0.5 nm) + 0.1 nm to ensure all particles are tracked G4double z = -containerLength/2 + (copyNo * 25.*CLHEP::mm) + 0.6*CLHEP::nm; physVol->SetTranslation( G4ThreeVector(0., 0., z) ); }