|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Factory for beam pipe made from an list of x,y points in a file. More...
#include <BDSBeamPipeFactoryPointsFile.hh>


Private Member Functions | |
| virtual void | GeneratePoints (G4double, G4double, G4double, G4double, G4double beamPipeThickness, G4int=40) |
| Purely to fulfill interface - should not be used! | |
| 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. | |
| G4double | Determinant (const G4TwoVector &v1, const G4TwoVector &v2) const |
| Calculate the determinant of 2x G4TwoVectors. | |
Private Attributes | |
| G4double | maximumRadius |
Additional Inherited Members | |
Public Member Functions inherited from BDSBeamPipeFactoryPoints | |
| virtual BDSBeamPipe * | CreateBeamPipe (const G4String &nameIn, G4double lengthIn, G4double aper1In, G4double aper2In, G4double aper3In, G4double aper4In, G4Material *vacuumMaterialIn, G4double beamPipeThicknessIn, G4Material *beamPipeMaterialIn, const G4String &pointsFileIn="", const G4String &pointsUnitIn="") |
| Required overloaded method from BDSBeamPipeFactoryBase to build straight piece of beam pipe. | |
| virtual BDSBeamPipe * | CreateBeamPipe (const G4String &nameIn, G4double lengthIn, const G4ThreeVector &inputFaceNormalIn, const G4ThreeVector &outputFaceNormalIn, G4double aper1In, G4double aper2In, G4double aper3In, G4double aper4In, G4Material *vacuumMaterialIn, G4double beamPipeThicknessIn, G4Material *beamPipeMaterialIn, const G4String &pointsFileIn="", const G4String &pointsUnitIn="") |
| Required overloaded method from BDSBeamPipeFactoryBase to build angled piece of beam pipe. | |
Public Member Functions inherited from BDSBeamPipeFactoryBase | |
| virtual | ~BDSBeamPipeFactoryBase () |
| Virtual base destructor. | |
Public Member Functions inherited from BDSFactoryBase | |
| virtual void | FactoryBaseCleanUp () |
| Empty containers for next use - factories are never deleted so can't rely on scope. | |
Protected Member Functions inherited from BDSBeamPipeFactoryPoints | |
| virtual void | CleanUp () |
| Clear member vectors and run base class clean up to clear pointers between runs. | |
| void | AppendPoint (std::vector< G4TwoVector > &vec, G4double x, G4double y) |
| void | AppendAngle (std::vector< G4TwoVector > &vec, G4double startAngle, G4double finishAngle, G4double radius, G4int nPoints=10, G4double xOffset=0, G4double yOffset=0) |
| void | AppendAngleEllipse (std::vector< G4TwoVector > &vec, G4double startAngle, G4double finishAngle, G4double radiusA, G4double radiusB, G4int nPoints=10, G4double xOffset=0, G4double yOffset=0) |
| Generate 2-vector points (and append them) about an ellipse. | |
Protected Member Functions inherited from BDSBeamPipeFactoryBase | |
| BDSBeamPipeFactoryBase () | |
| base constructor | |
| void | CleanUpBase () |
| void | CommonConstruction (const G4String &nameIn, G4Material *vacuumMaterialIn, G4Material *beamPipeMaterialIn, G4double length) |
| finalise beampipe construction | |
| BDSBeamPipe * | BuildBeamPipeAndRegisterVolumes (BDSExtent extent, G4double containerRadius, G4bool containerIsCircular=false) |
| build beampipe and register logical volumes | |
| virtual void | BuildLogicalVolumes (const G4String &nameIn, G4Material *vacuumMaterialIn, G4Material *beamPipeMaterialIn) |
| build logical volumes | |
| virtual void | SetVisAttributes (G4Material *beamPipeMaterialIn, G4Material *vacuumMaterialIn) |
| Set visual attributes. | |
| virtual void | SetUserLimits (G4double length) |
| Set user limits. | |
| virtual void | PlaceComponents (const G4String &nameIn) |
| Place volumes. | |
Static Protected Member Functions inherited from BDSBeamPipeFactoryBase | |
| static void | CheckAngledVolumeCanBeBuilt (G4double length, const G4ThreeVector &inputfaceAngle, const G4ThreeVector &outputfaceAngle, G4double horizontalWidth, const G4String &name) |
| check if a beam pipe volume with angled faces can be constructed | |
Protected Attributes inherited from BDSBeamPipeFactoryPoints | |
| std::vector< G4TwoVector > | vacuumEdge |
| Vector of x,y coordinates for vacuum extruded solid edge. | |
| std::vector< G4TwoVector > | beamPipeInnerEdge |
| Vector of x,y coordinates for beam pipe inner edge. | |
| std::vector< G4TwoVector > | beamPipeOuterEdge |
| Vector of x,y coordinates for beam pipe outer edge. | |
| std::vector< G4TwoVector > | containerEdge |
| Vector of x,y coordinates for the container volume. | |
| std::vector< G4TwoVector > | containerSubtractionEdge |
| Vector of x,y coordinates for the container subtraction volume. | |
| G4double | extentX |
| Extents prepared by GeneratePoints function as only it knows the extents. | |
| G4double | extentY |
| Extents prepared by GeneratePoints function as only it knows the extents. | |
| G4String | pointsFile |
| Temporary copy of input variables. | |
| G4String | pointsUnit |
| Temporary copy of input variables. | |
Protected Attributes inherited from BDSBeamPipeFactoryBase | |
| G4bool | sensitiveBeamPipe |
| Whether the beam pipe will record energy deposition. | |
| G4bool | sensitiveVacuum |
| Whether the vacuum will record any energy deposition. | |
| G4bool | storeApertureImpacts |
| Whether to store aperture impacts. | |
| G4VSolid * | vacuumSolid |
| G4VSolid * | beamPipeSolid |
| G4VSolid * | containerSolid |
| G4VSolid * | containerSubtractionSolid |
| Longer (in length) version of container solid for unambiguous subtraction. | |
| G4LogicalVolume * | vacuumLV |
| G4LogicalVolume * | beamPipeLV |
| G4LogicalVolume * | containerLV |
| G4PVPlacement * | vacuumPV |
| G4PVPlacement * | beamPipePV |
| G4ThreeVector | inputFaceNormal |
| For recording the face normals in the finished pipe component. | |
| G4ThreeVector | outputFaceNormal |
| For recording the face normals in the finished pipe component. | |
Protected Attributes inherited from BDSFactoryBase | |
| std::set< G4LogicalVolume * > | allLogicalVolumes |
| std::set< G4VPhysicalVolume * > | allPhysicalVolumes |
| std::set< G4RotationMatrix * > | allRotationMatrices |
| std::set< G4UserLimits * > | allUserLimits |
| std::set< G4VSolid * > | allSolids |
| std::set< G4VisAttributes * > | allVisAttributes |
| G4double | lengthSafety |
| Cache of global constants variable. | |
| G4double | lengthSafetyLarge |
| Cache of global constants variable. | |
| G4bool | checkOverlaps |
| Cache of global constants variable. | |
| G4bool | visDebug |
| Cache of global constants variable. | |
| G4int | nSegmentsPerCircle |
| Cache of global constants variable. | |
| G4VisAttributes * | containerVisAttr |
| Cache of global constants variable. | |
| G4UserLimits * | defaultUserLimits |
| Cache of global constants variable. | |
Factory for beam pipe made from an list of x,y points in a file.
Definition at line 32 of file BDSBeamPipeFactoryPointsFile.hh.
| BDSBeamPipeFactoryPointsFile::BDSBeamPipeFactoryPointsFile | ( | ) |
Definition at line 28 of file BDSBeamPipeFactoryPointsFile.cc.
|
inlinevirtual |
Definition at line 36 of file BDSBeamPipeFactoryPointsFile.hh.
|
privatevirtual |
Calculate the radius of the solid used for intersection for angled faces.
Implements BDSBeamPipeFactoryPoints.
Definition at line 104 of file BDSBeamPipeFactoryPointsFile.cc.
|
private |
Calculate the determinant of 2x G4TwoVectors.
Definition at line 109 of file BDSBeamPipeFactoryPointsFile.cc.
Referenced by GeneratePoints().

|
privatevirtual |
Purely to fulfill interface - should not be used!
Implements BDSBeamPipeFactoryPoints.
Definition at line 32 of file BDSBeamPipeFactoryPointsFile.cc.
References BDSBeamPipeFactoryPoints::beamPipeInnerEdge, BDSBeamPipeFactoryPoints::beamPipeOuterEdge, BDSBeamPipeFactoryPoints::containerEdge, BDSBeamPipeFactoryPoints::containerSubtractionEdge, Determinant(), BDSFactoryBase::lengthSafetyLarge, BDS::LoadAperturePoints(), BDSBeamPipeFactoryPoints::pointsFile, BDSBeamPipeFactoryPoints::pointsUnit, and BDSBeamPipeFactoryPoints::vacuumEdge.

|
private |
Definition at line 54 of file BDSBeamPipeFactoryPointsFile.hh.