51 G4Material* vacuumMaterialIn =
nullptr,
52 G4double beamPipeThicknessIn = 0,
53 G4Material* beamPipeMaterialIn =
nullptr,
54 const G4String& pointsFileIn =
"",
55 const G4String& pointsUnitIn =
"");
59 const G4ThreeVector& inputFaceNormalIn,
60 const G4ThreeVector& outputFaceNormalIn,
65 G4Material* vacuumMaterialIn =
nullptr,
66 G4double beamPipeThicknessIn = 0,
67 G4Material* beamPipeMaterialIn =
nullptr,
68 const G4String& pointsFileIn =
"",
69 const G4String& pointsUnitIn =
"");
79 G4Material* vacuumMaterial,
80 G4Material* beamPipeMaterial,
85 const G4ThreeVector& inputface,
86 const G4ThreeVector& outputface);
89 G4Material* vacuumMaterialIn,
90 G4Material* beamPipeMaterialIn);
92 G4Material* vacuumMaterialIn);
104 G4double beamPipeThickness,
107 G4VSolid* copperSkinSolid;
108 G4VSolid* screenSolid;
109 G4VSolid* coolingPipeSolid;
110 G4LogicalVolume* copperSkinLV;
111 G4LogicalVolume* screenLV;
112 G4LogicalVolume* coolingPipeLV;
113 G4PVPlacement* copperSkinPV;
114 G4PVPlacement* screenPV;
115 G4PVPlacement* coolingPipeTopPV;
116 G4PVPlacement* coolingPipeBottomPV;
120 G4double coolingPipeThickness;
121 G4double coolingPipeRadius;
122 G4double copperSkinThickness;
130 G4double cuOuterRadius, cuOuterBoxX, cuOuterBoxY;
134 G4double bsOuterRadius, bsOuterBoxX, bsOuterBoxY;
virtual BDSBeamPipe * CreateBeamPipe(const G4String &nameIn, G4double lengthIn, G4double aper1=0, G4double aper2=0, G4double aper3=0, G4double aper4=0, G4Material *vacuumMaterialIn=nullptr, G4double beamPipeThicknessIn=0, G4Material *beamPipeMaterialIn=nullptr, const G4String &pointsFileIn="", const G4String &pointsUnitIn="")
create a flat ended beampipe