BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Data Fields | Private Member Functions
BDSCavityInfo Class Reference

Holder for all Geometrical information required to create an RF cavity. More...

#include <BDSCavityInfo.hh>

Collaboration diagram for BDSCavityInfo:
Collaboration graph

Public Member Functions

 BDSCavityInfo (BDSCavityType cavityTypeIn, G4Material *materialIn, G4double irisRadiusIn, G4double thicknessIn, G4double equatorRadiusIn, G4double halfCellLengthIn, G4int numberOfPointsIn=24, G4int numberOfCellsIn=1, G4double equatorHorizontalAxisIn=42 *CLHEP::mm, G4double equatorVerticalAxisIn=42 *CLHEP::mm, G4double irisHorizontalAxisIn=12 *CLHEP::mm, G4double irisVerticalAxisIn=19 *CLHEP::mm, G4double tangentLineAngleIn=13.3 *CLHEP::degree)
 

Data Fields

BDSCavityType cavityType
 Cavity type.
More...
 
G4Material * material
 Material. More...
 
G4double irisRadius
 Iris radius - half width of narrowest part. More...
 
G4double thickness
 Thickness of wall material. More...
 
G4double equatorRadius
 Equator radius - half width of widest part. More...
 
G4double halfCellLength
 Half cell length. More...
 
G4int numberOfPoints
 
G4int numberOfCells
 Number of cells per cavity. More...
 
G4double equatorHorizontalAxis
 Equator ellipse horizontal semi-axis. More...
 
G4double equatorVerticalAxis
 Equator ellipse vertical semi-axis. More...
 
G4double irisHorizontalAxis
 Iris ellipse horizontal semi-axis. More...
 
G4double irisVerticalAxis
 Iris ellipse vertical semi-axis. More...
 
G4double tangentLineAngle
 Tangent angle. More...
 

Private Member Functions

 BDSCavityInfo ()
 private default constructor as unused
 

Detailed Description

Holder for all Geometrical information required to create an RF cavity.

Geant4 units are assumed by classes that use instances of this class. This reduces the number of argument to constructors plus aggregates common tasks in the component factory.

Note, compiler provided copy constructor is sufficient as only pointers to materials owned by BDSMaterials are kept - shallow copy is required then.

This class does not specify the vacuum material as ideally we can specify the the 'vacuum' pressure and composition throughout the machine without redefining a cavity model.

Author
Laurie Nevay

Definition at line 46 of file BDSCavityInfo.hh.

Constructor & Destructor Documentation

◆ BDSCavityInfo()

BDSCavityInfo::BDSCavityInfo ( BDSCavityType  cavityTypeIn,
G4Material *  materialIn,
G4double  irisRadiusIn,
G4double  thicknessIn,
G4double  equatorRadiusIn,
G4double  halfCellLengthIn,
G4int  numberOfPointsIn = 24,
G4int  numberOfCellsIn = 1,
G4double  equatorHorizontalAxisIn = 42*CLHEP::mm,
G4double  equatorVerticalAxisIn = 42*CLHEP::mm,
G4double  irisHorizontalAxisIn = 12*CLHEP::mm,
G4double  irisVerticalAxisIn = 19*CLHEP::mm,
G4double  tangentLineAngleIn = 13.3*CLHEP::degree 
)

Constructor to assign all members at once. Default values are based on those for SRF cavity.

Definition at line 24 of file BDSCavityInfo.cc.

Field Documentation

◆ cavityType

BDSCavityType BDSCavityInfo::cavityType

Cavity type.

Definition at line 66 of file BDSCavityInfo.hh.

Referenced by BDSCavityFactory::CreateCavity().

◆ equatorHorizontalAxis

G4double BDSCavityInfo::equatorHorizontalAxis

Equator ellipse horizontal semi-axis.

Definition at line 78 of file BDSCavityInfo.hh.

Referenced by BDSCavityFactoryElliptical::CreateSolids().

◆ equatorRadius

G4double BDSCavityInfo::equatorRadius

◆ equatorVerticalAxis

G4double BDSCavityInfo::equatorVerticalAxis

Equator ellipse vertical semi-axis.

Definition at line 79 of file BDSCavityInfo.hh.

Referenced by BDSCavityFactoryElliptical::CreateSolids().

◆ halfCellLength

G4double BDSCavityInfo::halfCellLength

Half cell length.

Definition at line 71 of file BDSCavityInfo.hh.

◆ irisHorizontalAxis

G4double BDSCavityInfo::irisHorizontalAxis

Iris ellipse horizontal semi-axis.

Definition at line 80 of file BDSCavityInfo.hh.

Referenced by BDSCavityFactoryElliptical::CreateSolids().

◆ irisRadius

G4double BDSCavityInfo::irisRadius

Iris radius - half width of narrowest part.

Definition at line 68 of file BDSCavityInfo.hh.

Referenced by BDSCavityFactoryElliptical::CreateSolids(), BDSCavityFactoryPillBox::CreateSolids(), and BDSCavityFactoryRectangular::CreateSolids().

◆ irisVerticalAxis

G4double BDSCavityInfo::irisVerticalAxis

Iris ellipse vertical semi-axis.

Definition at line 81 of file BDSCavityInfo.hh.

Referenced by BDSCavityFactoryElliptical::CreateSolids().

◆ material

G4Material* BDSCavityInfo::material

◆ numberOfCells

G4int BDSCavityInfo::numberOfCells

Number of cells per cavity.

Definition at line 77 of file BDSCavityInfo.hh.

◆ numberOfPoints

G4int BDSCavityInfo::numberOfPoints

Number of points that will be used to make the cell shape more will be more accurate but will also increase tracking time.

Definition at line 75 of file BDSCavityInfo.hh.

Referenced by BDSCavityFactoryElliptical::CreateSolids().

◆ tangentLineAngle

G4double BDSCavityInfo::tangentLineAngle

Tangent angle.

Definition at line 82 of file BDSCavityInfo.hh.

Referenced by BDSCavityFactoryElliptical::CreateSolids().

◆ thickness

G4double BDSCavityInfo::thickness

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