23#include "BDSAcceleratorComponent.hh"
39 G4double horizontalWidthIn,
41 G4double wedgeLengthIn,
42 G4double degraderHeightIn,
43 G4double degraderOffsetIn,
45 G4Material* degraderMaterialIn,
46 G4Material* vacuumMaterialIn,
55 G4double horizontalWidth;
58 G4double degraderHeight;
59 G4double degraderOffset;
61 G4Material* degraderMaterial;
62 G4Material* vacuumMaterial;
65 inline G4bool IsOdd(G4int integer)
const {
return integer % 2 != 0;}
66 inline G4bool IsEven(G4int integer)
const {
return integer % 2 == 0;}
81 const G4String& placementName,
83 G4RotationMatrix* rotation);
Abstract class that represents a component of an accelerator.
Degrader based on wedge design used in the PSI medical accelerator.
void PlaceWedge(G4bool placeRight, G4double zOffset, const G4String &placementName, G4LogicalVolume *lv, G4RotationMatrix *rotation)
BDSDegrader & operator=(const BDSDegrader &)=delete
Assignment and copy constructor not implemented nor used.
BDSDegrader(BDSDegrader &)=delete
Assignment and copy constructor not implemented nor used.
BDSDegrader()=delete
Private default constructor to force the use of the supplied one.
virtual void BuildContainerLogicalVolume()