BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions
BDSMagnetOuterFactoryNone Class Reference

Factory that produces null outer geometry. More...

#include <BDSMagnetOuterFactoryNone.hh>

Inheritance diagram for BDSMagnetOuterFactoryNone:
Inheritance graph
Collaboration diagram for BDSMagnetOuterFactoryNone:
Collaboration graph

Public Member Functions

virtual BDSMagnetOuterCreateSectorBend (G4String name, G4double length, const BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
 sector bend outer volume
 
virtual BDSMagnetOuterCreateRectangularBend (G4String name, G4double length, const BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
 rectangular bend outer volume
 
virtual BDSMagnetOuterCreateQuadrupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
 quadrupole outer volume
 
virtual BDSMagnetOuterCreateSextupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
 sextupole outer volume
 
virtual BDSMagnetOuterCreateOctupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
 octupole outer volume
 
virtual BDSMagnetOuterCreateDecapole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
 decapole outer volume
 
virtual BDSMagnetOuterCreateSolenoid (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
 solenoid outer volume
 
virtual BDSMagnetOuterCreateMultipole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
 general multipole outer volume - could be any 2N order multipole
 
virtual BDSMagnetOuterCreateRfCavity (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
 RF cavity outer volume.
 
virtual BDSMagnetOuterCreateMuonSpoiler (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
 muon spoiler outer volume
 
virtual BDSMagnetOuterCreateKicker (G4String name, G4double length, const BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe, G4bool vertical)
 horizontal and vertical kicker outer volume
 
- Public Member Functions inherited from BDSMagnetOuterFactoryBase
virtual BDSMagnetOuterCreateSectorBend (G4String name, G4double length, const BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)=0
 sector bend outer volume
 
virtual BDSMagnetOuterCreateRectangularBend (G4String name, G4double length, const BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)=0
 rectangular bend outer volume
 
virtual BDSMagnetOuterCreateQuadrupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)=0
 quadrupole outer volume
 
virtual BDSMagnetOuterCreateSextupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)=0
 sextupole outer volume
 
virtual BDSMagnetOuterCreateOctupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)=0
 octupole outer volume
 
virtual BDSMagnetOuterCreateDecapole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)=0
 decapole outer volume
 
virtual BDSMagnetOuterCreateSolenoid (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)=0
 solenoid outer volume
 
virtual BDSMagnetOuterCreateMultipole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)=0
 general multipole outer volume - could be any 2N order multipole
 
virtual BDSMagnetOuterCreateRfCavity (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)=0
 RF cavity outer volume.
 
virtual BDSMagnetOuterCreateMuonSpoiler (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)=0
 muon spoiler outer volume
 
virtual BDSMagnetOuterCreateKicker (G4String name, G4double length, const BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe, G4bool vertical)=0
 horizontal and vertical kicker outer volume
 
virtual void CleanUp ()
 Empty containers for next use - factories are never deleted so can't rely on scope.
 
void CleanUpBase ()
 Non-virtual clean up that can be used in the constructor.
 
virtual ~BDSMagnetOuterFactoryBase ()
 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.
 

Additional Inherited Members

- Protected Member Functions inherited from BDSMagnetOuterFactoryBase
virtual void CreateLogicalVolumes (const G4String &name, G4Colour *colour, G4Material *outerMaterial)
 
virtual void SetUserLimits ()
 Attach default user limits to all logical volumes.
 
void BuildMagnetContainerSolidAngled (const G4String &name, G4double magnetContainerLength, G4double magnetContainerRadius, G4bool flatFaces=false)
 
void BuildMagnetContainerSolidStraight (const G4String &name, G4double magnetContainerLength, G4double magnetContainerRadius)
 
void CreateMagnetContainerComponent ()
 
void SetFaceNormals (BDSMagnetOuter *outer)
 Copy face normals from members to an instance of outer.
 
- Protected Attributes inherited from BDSMagnetOuterFactoryBase
G4VSolid * poleSolid
 Solid for an individual pole that will be placed multiple times.
 
G4VSolid * yokeSolid
 Solid for outer part that connects all poles.
 
G4VSolid * containerSolid
 
G4VSolid * magnetContainerSolid
 
G4LogicalVolume * poleLV
 
G4LogicalVolume * yokeLV
 
G4LogicalVolume * containerLV
 
G4LogicalVolume * magnetContainerLV
 
G4VPhysicalVolume * yokePV
 
G4VisAttributes * outerVisAttributes
 
BDSExtent magContExtent
 
BDSGeometryComponentmagnetContainer
 
G4ThreeVector inputFaceNormal
 
G4ThreeVector outputFaceNormal
 
G4bool sensitiveOuter
 Cache of global constants variable.
 
- 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.
 

Detailed Description

Factory that produces null outer geometry.

Author
Laurie Nevay

Definition at line 36 of file BDSMagnetOuterFactoryNone.hh.

Constructor & Destructor Documentation

◆ BDSMagnetOuterFactoryNone()

BDSMagnetOuterFactoryNone::BDSMagnetOuterFactoryNone ( )

Definition at line 31 of file BDSMagnetOuterFactoryNone.cc.

◆ ~BDSMagnetOuterFactoryNone()

virtual BDSMagnetOuterFactoryNone::~BDSMagnetOuterFactoryNone ( )
inlinevirtual

Definition at line 40 of file BDSMagnetOuterFactoryNone.hh.

Member Function Documentation

◆ CreateDecapole()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateDecapole ( G4String  name,
G4double  length,
BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe 
)
virtual

decapole outer volume

Implements BDSMagnetOuterFactoryBase.

Definition at line 79 of file BDSMagnetOuterFactoryNone.cc.

◆ CreateKicker()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateKicker ( G4String  name,
G4double  length,
const BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe,
G4bool  vertical 
)
virtual

horizontal and vertical kicker outer volume

Implements BDSMagnetOuterFactoryBase.

Definition at line 124 of file BDSMagnetOuterFactoryNone.cc.

◆ CreateMultipole()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateMultipole ( G4String  name,
G4double  length,
BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe 
)
virtual

general multipole outer volume - could be any 2N order multipole

Implements BDSMagnetOuterFactoryBase.

Definition at line 97 of file BDSMagnetOuterFactoryNone.cc.

◆ CreateMuonSpoiler()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateMuonSpoiler ( G4String  name,
G4double  length,
BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe 
)
virtual

muon spoiler outer volume

Implements BDSMagnetOuterFactoryBase.

Definition at line 115 of file BDSMagnetOuterFactoryNone.cc.

◆ CreateOctupole()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateOctupole ( G4String  name,
G4double  length,
BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe 
)
virtual

octupole outer volume

Implements BDSMagnetOuterFactoryBase.

Definition at line 70 of file BDSMagnetOuterFactoryNone.cc.

◆ CreateQuadrupole()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateQuadrupole ( G4String  name,
G4double  length,
BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe 
)
virtual

quadrupole outer volume

Implements BDSMagnetOuterFactoryBase.

Definition at line 52 of file BDSMagnetOuterFactoryNone.cc.

◆ CreateRectangularBend()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateRectangularBend ( G4String  name,
G4double  length,
const BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe 
)
virtual

rectangular bend outer volume

Implements BDSMagnetOuterFactoryBase.

Definition at line 43 of file BDSMagnetOuterFactoryNone.cc.

◆ CreateRfCavity()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateRfCavity ( G4String  name,
G4double  length,
BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe 
)
virtual

RF cavity outer volume.

Implements BDSMagnetOuterFactoryBase.

Definition at line 106 of file BDSMagnetOuterFactoryNone.cc.

◆ CreateSectorBend()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateSectorBend ( G4String  name,
G4double  length,
const BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe 
)
virtual

sector bend outer volume

Implements BDSMagnetOuterFactoryBase.

Definition at line 34 of file BDSMagnetOuterFactoryNone.cc.

◆ CreateSextupole()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateSextupole ( G4String  name,
G4double  length,
BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe 
)
virtual

sextupole outer volume

Implements BDSMagnetOuterFactoryBase.

Definition at line 61 of file BDSMagnetOuterFactoryNone.cc.

◆ CreateSolenoid()

BDSMagnetOuter * BDSMagnetOuterFactoryNone::CreateSolenoid ( G4String  name,
G4double  length,
BDSBeamPipe beamPipe,
G4double  containerLength,
const BDSMagnetOuterInfo recipe 
)
virtual

solenoid outer volume

Implements BDSMagnetOuterFactoryBase.

Definition at line 88 of file BDSMagnetOuterFactoryNone.cc.


The documentation for this class was generated from the following files: