BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Holder for all Geometrical information required to create an RF cavity. More...
#include <BDSCavityInfo.hh>
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. | |
G4Material * | material |
Material. | |
G4double | irisRadius |
Iris radius - half width of narrowest part. | |
G4double | thickness |
Thickness of wall material. | |
G4double | equatorRadius |
Equator radius - half width of widest part. | |
G4double | halfCellLength |
Half cell length. | |
G4int | numberOfPoints |
G4int | numberOfCells |
Number of cells per cavity. | |
G4double | equatorHorizontalAxis |
Equator ellipse horizontal semi-axis. | |
G4double | equatorVerticalAxis |
Equator ellipse vertical semi-axis. | |
G4double | irisHorizontalAxis |
Iris ellipse horizontal semi-axis. | |
G4double | irisVerticalAxis |
Iris ellipse vertical semi-axis. | |
G4double | tangentLineAngle |
Tangent angle. | |
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.
Definition at line 46 of file BDSCavityInfo.hh.
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.
BDSCavityType BDSCavityInfo::cavityType |
Cavity type.
Definition at line 67 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactory::CreateCavity().
G4double BDSCavityInfo::equatorHorizontalAxis |
Equator ellipse horizontal semi-axis.
Definition at line 79 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactoryElliptical::CreateSolids().
G4double BDSCavityInfo::equatorRadius |
Equator radius - half width of widest part.
Definition at line 71 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactoryElliptical::CreateSolids(), BDSCavityFactoryPillBox::CreateSolids(), BDSCavityFactoryRectangular::CreateSolids(), and BDSComponentFactory::PrepareCavityModelInfo().
G4double BDSCavityInfo::equatorVerticalAxis |
Equator ellipse vertical semi-axis.
Definition at line 80 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactoryElliptical::CreateSolids().
G4double BDSCavityInfo::halfCellLength |
Half cell length.
Definition at line 72 of file BDSCavityInfo.hh.
G4double BDSCavityInfo::irisHorizontalAxis |
Iris ellipse horizontal semi-axis.
Definition at line 81 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactoryElliptical::CreateSolids().
G4double BDSCavityInfo::irisRadius |
Iris radius - half width of narrowest part.
Definition at line 69 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactoryElliptical::CreateSolids(), BDSCavityFactoryPillBox::CreateSolids(), and BDSCavityFactoryRectangular::CreateSolids().
G4double BDSCavityInfo::irisVerticalAxis |
Iris ellipse vertical semi-axis.
Definition at line 82 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactoryElliptical::CreateSolids().
G4Material* BDSCavityInfo::material |
Material.
Definition at line 68 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactoryBase::CreateLogicalVolumes(), and BDSComponentFactory::PrepareCavityModelInfo().
G4int BDSCavityInfo::numberOfCells |
Number of cells per cavity.
Definition at line 78 of file BDSCavityInfo.hh.
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 76 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactoryElliptical::CreateSolids().
G4double BDSCavityInfo::tangentLineAngle |
Tangent angle.
Definition at line 83 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactoryElliptical::CreateSolids().
G4double BDSCavityInfo::thickness |
Thickness of wall material.
Definition at line 70 of file BDSCavityInfo.hh.
Referenced by BDSCavityFactoryElliptical::CreateSolids(), BDSCavityFactoryPillBox::CreateSolids(), BDSCavityFactoryRectangular::CreateSolids(), and BDSComponentFactory::PrepareCavityModelInfo().