BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Holder for all information required to create a crystal. More...
#include <BDSCrystalInfo.hh>
Public Member Functions | |
BDSCrystalInfo ()=delete | |
No default constuctor. | |
BDSCrystalInfo (G4Material *materialIn, const G4String &dataIn, BDSCrystalType crystalTypeIn, G4double lengthXIn, G4double lengthYIn, G4double lengthZIn, G4double sizeAIn, G4double sizeBIn, G4double sizeCIn, G4double alphaIn, G4double betaIn, G4double gammaIn, G4int spaceGroupIn, G4double bendingAngleYAxisIn=0, G4double bendingAngleZAxisIn=0, G4double miscutAngleY=0) | |
Constructor to assign all members at once. | |
G4double | BendingRadiusHorizontal () const |
G4double | BendingRadiusVertical () const |
Data Fields | |
G4Material * | material |
Material. | |
G4String | data |
Potential data path. | |
BDSCrystalType | shape |
Shape of geometry. | |
G4double | lengthX |
X dimension. | |
G4double | lengthY |
Y dimension. | |
G4double | lengthZ |
Z dimension. | |
G4double | sizeA |
G4double | sizeB |
G4double | sizeC |
G4double | alpha |
G4double | beta |
G4double | gamma |
G4int | spaceGroup |
G4double | bendingAngleYAxis |
Bending angle about Y axis. | |
G4double | bendingAngleZAxis |
Bending angle about Z axis. | |
G4double | miscutAngleY |
Private Member Functions | |
G4double | BendingRadius (G4double length, G4double angle) const |
Holder for all information required to create a crystal.
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.
Definition at line 42 of file BDSCrystalInfo.hh.
BDSCrystalInfo::BDSCrystalInfo | ( | G4Material * | materialIn, |
const G4String & | dataIn, | ||
BDSCrystalType | crystalTypeIn, | ||
G4double | lengthXIn, | ||
G4double | lengthYIn, | ||
G4double | lengthZIn, | ||
G4double | sizeAIn, | ||
G4double | sizeBIn, | ||
G4double | sizeCIn, | ||
G4double | alphaIn, | ||
G4double | betaIn, | ||
G4double | gammaIn, | ||
G4int | spaceGroupIn, | ||
G4double | bendingAngleYAxisIn = 0 , |
||
G4double | bendingAngleZAxisIn = 0 , |
||
G4double | miscutAngleY = 0 |
||
) |
Constructor to assign all members at once.
Definition at line 27 of file BDSCrystalInfo.cc.
|
private |
Definition at line 61 of file BDSCrystalInfo.cc.
|
inline |
Definition at line 83 of file BDSCrystalInfo.hh.
|
inline |
Definition at line 84 of file BDSCrystalInfo.hh.
G4double BDSCrystalInfo::alpha |
Definition at line 75 of file BDSCrystalInfo.hh.
G4double BDSCrystalInfo::bendingAngleYAxis |
Bending angle about Y axis.
Definition at line 79 of file BDSCrystalInfo.hh.
Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), BDSCrystalFactory::CreateCrystalCylinder(), BDSCrystalFactory::CreateCrystalTorus(), and BDSCollimatorCrystal::TransverseOffsetToEdge().
G4double BDSCrystalInfo::bendingAngleZAxis |
Bending angle about Z axis.
Definition at line 80 of file BDSCrystalInfo.hh.
Referenced by BDSCrystalFactory::CreateCrystalTorus().
G4double BDSCrystalInfo::beta |
Definition at line 76 of file BDSCrystalInfo.hh.
G4String BDSCrystalInfo::data |
Potential data path.
Definition at line 67 of file BDSCrystalInfo.hh.
Referenced by BDSCrystalFactory::CommonConstruction().
G4double BDSCrystalInfo::gamma |
Definition at line 77 of file BDSCrystalInfo.hh.
G4double BDSCrystalInfo::lengthX |
X dimension.
Definition at line 69 of file BDSCrystalInfo.hh.
Referenced by BDSCrystalFactory::CreateCrystalBox(), BDSCrystalFactory::CreateCrystalCylinder(), BDSCrystalFactory::CreateCrystalTorus(), and BDSCollimatorCrystal::TransverseOffsetToEdge().
G4double BDSCrystalInfo::lengthY |
Y dimension.
Definition at line 70 of file BDSCrystalInfo.hh.
Referenced by BDSCrystalFactory::CalculateExtents(), BDSCrystalFactory::CreateCrystalBox(), and BDSCrystalFactory::CreateCrystalCylinder().
G4double BDSCrystalInfo::lengthZ |
Z dimension.
Definition at line 71 of file BDSCrystalInfo.hh.
Referenced by BDSCrystalFactory::CommonConstruction(), BDSCrystalFactory::CreateCrystalBox(), and BDSCollimatorCrystal::TransverseOffsetToEdge().
G4Material* BDSCrystalInfo::material |
Material.
Definition at line 66 of file BDSCrystalInfo.hh.
Referenced by BDSCrystalFactory::CommonConstruction().
G4double BDSCrystalInfo::miscutAngleY |
Definition at line 81 of file BDSCrystalInfo.hh.
BDSCrystalType BDSCrystalInfo::shape |
Shape of geometry.
Definition at line 68 of file BDSCrystalInfo.hh.
Referenced by BDSCrystalFactory::CreateCrystal(), and BDSCollimatorCrystal::TransverseOffsetToEdge().
G4double BDSCrystalInfo::sizeA |
Definition at line 72 of file BDSCrystalInfo.hh.
G4double BDSCrystalInfo::sizeB |
Definition at line 73 of file BDSCrystalInfo.hh.
G4double BDSCrystalInfo::sizeC |
Definition at line 74 of file BDSCrystalInfo.hh.
G4int BDSCrystalInfo::spaceGroup |
Definition at line 78 of file BDSCrystalInfo.hh.