19#include "BDSCavity.hh"
20#include "BDSCavityFactoryPillBox.hh"
21#include "BDSCavityInfo.hh"
24#include "G4LogicalVolume.hh"
25#include "G4SubtractionSolid.hh"
27#include "G4UnionSolid.hh"
30#include "CLHEP/Units/SystemOfUnits.h"
34BDSCavityFactoryPillBox::BDSCavityFactoryPillBox()
37BDSCavityFactoryPillBox::~BDSCavityFactoryPillBox()
41 G4double totalChordLength,
44 G4double chordLength = totalChordLength;
46 G4VSolid* outerSolid =
new G4Tubs(name +
"_outer_solid",
52 allSolids.insert(outerSolid);
55 G4VSolid* innerSolid =
new G4Tubs(name +
"_inner_solid",
61 allSolids.insert(innerSolid);
64 cavitySolid =
new G4SubtractionSolid(name +
"_cavity_solid",
73 G4VSolid* vacuumInnerCavity =
new G4Tubs(name +
"_vacuum_inner_cavity_solid",
80 G4VSolid* vacuumAperture =
new G4Tubs(name +
"_vacuum_aperture_solid",
88 vacuumSolid =
new G4UnionSolid(name +
"_vacuum_solid",
91 allSolids.insert(vacuumInnerCavity);
92 allSolids.insert(vacuumAperture);
102 return containerRadius;
G4VSolid * vacuumSolid
Cache of particular solid or lv for common functionality in this class.
G4VSolid * containerSolid
Cache of particular solid or lv for common functionality in this class.
G4VSolid * cavitySolid
Cache of particular solid or lv for common functionality in this class.
virtual G4double CreateSolids(G4String name, G4double totalChordLength, const BDSCavityInfo *info)
Create vacuumSolid and cavitySolid. Must return the container radius.
Holder for all Geometrical information required to create an RF cavity.
G4double equatorRadius
Equator radius - half width of widest part.
G4double irisRadius
Iris radius - half width of narrowest part.
G4double thickness
Thickness of wall material.
G4double lengthSafety
Cache of global constants variable.