19#ifndef BDSBEAMPIPEFACTORYOCTAGONAL_H
20#define BDSBEAMPIPEFACTORYOCTAGONAL_H
22#include "BDSBeamPipeFactoryPoints.hh"
64 G4double beamPipeThickness,
65 G4int pointsPerTwoPi = 40);
72 G4double beamPipeThickness);
Factory for octagonal aperture model beampipes.
virtual void GeneratePoints(G4double aper1, G4double aper2, G4double aper3, G4double aper4, G4double beamPipeThickness, G4int pointsPerTwoPi=40)
virtual G4double CalculateIntersectionRadius(G4double aper1, G4double aper2, G4double aper3, G4double aper4, G4double beamPipeThickness)
Calculate the radius of the solid used for intersection for angled faces.
void GenerateOctagonal(std::vector< G4TwoVector > &vec, G4double x1, G4double y1, G4double x2, G4double y2)
Append 2D points on an octagon in a clockwise direction into the vector argument.
BDS::FourPoints ExpandOctagon(G4double aper1, G4double aper2, G4double aper3, G4double aper4, G4double distance)
Factory for beam pipes defined by a series of x,y points that are extruded.
Return either G4Tubs or G4CutTubs depending on flat face.