BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
A class that holds a fully constructed BDSAcceleratorComponent as well as any information relevant to its position within the beamline. More...
#include <BDSBeamlineElement.hh>
Public Member Functions | |
BDSBeamlineElement (const BDSBeamlineElement &)=delete | |
BDSBeamlineElement & | operator= (const BDSBeamlineElement &)=delete |
BDSBeamlineElement (BDSAcceleratorComponent *componentIn, const G4ThreeVector &positionStartIn, const G4ThreeVector &positionMiddleIn, const G4ThreeVector &positionEndIn, G4RotationMatrix *rotationStartIn, G4RotationMatrix *rotationMiddleIn, G4RotationMatrix *rotationEndIn, const G4ThreeVector &referencePositionStartIn, const G4ThreeVector &referencePositionMiddleIn, const G4ThreeVector &referencePositionEndIn, G4RotationMatrix *referenceRotationStartIn, G4RotationMatrix *referenceRotationMiddleIn, G4RotationMatrix *referenceRotationEndIn, G4double sPositionStartIn, G4double sPositionMiddleIn, G4double sPositionEndIn, BDSTiltOffset *tiltOffsetIn=nullptr, BDSSamplerInfo *samplerInfoIn=nullptr, G4int indexIn=-1) | |
std::set< G4VPhysicalVolume * > | PlaceElement (const G4String &pvName, G4VPhysicalVolume *containerPV, G4bool useCLPlacementTransform, G4int copyNumber, G4bool checkOverlaps) const |
BDSExtentGlobal | GetExtentGlobal () const |
Create a global extent object from the extent of the component. | |
G4double | GetTilt () const |
Convenience accessor. | |
void | UpdateSamplerPlacementTransform (const G4Transform3D &tranfsormIn) |
G4bool | Overlaps (const BDSBeamlineElement *otherElement) const |
Whether this beam line element will overlaps in 3D Cartesian coordinates with another. | |
BDSAcceleratorComponent * | GetAcceleratorComponent () const |
Accessor. | |
G4String | GetName () const |
Accessor. | |
G4String | GetType () const |
Accessor. | |
G4double | GetArcLength () const |
Accessor. | |
G4double | GetChordLength () const |
Accessor. | |
G4double | GetAngle () const |
Accessor. | |
BDSBeamPipeInfo * | GetBeamPipeInfo () const |
Accessor. | |
BDSExtent | GetExtent () const |
Accessor. | |
G4String | GetPlacementName () const |
Accessor. | |
G4int | GetCopyNo () const |
Accessor. | |
G4ThreeVector | GetPositionStart () const |
Accessor. | |
G4ThreeVector | GetPositionMiddle () const |
Accessor. | |
G4ThreeVector | GetPositionEnd () const |
Accessor. | |
G4RotationMatrix * | GetRotationStart () const |
Accessor. | |
G4RotationMatrix * | GetRotationMiddle () const |
Accessor. | |
G4RotationMatrix * | GetRotationEnd () const |
Accessor. | |
G4ThreeVector | GetReferencePositionStart () const |
Accessor. | |
G4ThreeVector | GetReferencePositionMiddle () const |
Accessor. | |
G4ThreeVector | GetReferencePositionEnd () const |
Accessor. | |
G4RotationMatrix * | GetReferenceRotationStart () const |
Accessor. | |
G4RotationMatrix * | GetReferenceRotationMiddle () const |
Accessor. | |
G4RotationMatrix * | GetReferenceRotationEnd () const |
Accessor. | |
G4double | GetSPositionStart () const |
Accessor. | |
G4double | GetSPositionMiddle () const |
Accessor. | |
G4double | GetSPositionEnd () const |
Accessor. | |
BDSTiltOffset * | GetTiltOffset () const |
Accessor. | |
G4Transform3D * | GetPlacementTransform () const |
Accessor. | |
G4Transform3D * | GetPlacementTransformCL () const |
Accessor. | |
BDSSamplerInfo * | GetSamplerInfo () const |
Accessor. | |
BDSSamplerType | GetSamplerType () const |
Accessor. | |
G4Transform3D * | GetSamplerPlacementTransform () const |
Accessor. | |
G4int | GetIndex () const |
Accessor. | |
G4String | GetMaterial () const |
Accessor. | |
G4ThreeVector | InputFaceNormal () const |
Return face normal accounting for placement tilt of this component. | |
G4ThreeVector | OutputFaceNormal () const |
Return face normal accounting for placement tilt of this component. | |
G4bool | AngledInputFace () const |
Whether the face normal is angled at all w.r.t. the incoming / outgoing reference trajectory. | |
G4bool | AngledOutputFace () const |
Whether the face normal is angled at all w.r.t. the incoming / outgoing reference trajectory. | |
void | SetReferencePositionEnd (G4ThreeVector newReferencePositionEnd) |
Reassign the end variable as required when applying a transform. | |
void | SetReferenceRotationEnd (G4RotationMatrix *newReferenceRotatonEnd) |
Reassign the end variable as required when applying a transform. | |
Static Public Member Functions | |
static std::set< G4VPhysicalVolume * > | GetPVsFromAssembly (G4AssemblyVolume *av) |
Utility method to account for the interface in G4AssemblyVolume. | |
Private Attributes | |
BDSAcceleratorComponent * | component |
The accelerator component. | |
G4String | placementName |
G4int | copyNumber |
identification number of AcceleratorComponent (0 for first volume of given type) | |
BDSTiltOffset * | tiltOffset |
The tilt and offset this element was constructed with. Default is nullptr. | |
G4Transform3D * | placementTransform |
G4Transform3D * | placementTransformCL |
BDSSamplerInfo * | samplerInfo |
G4Transform3D * | samplerPlacementTransform |
G4int | index |
Index of this item in the beamline - saves keeping track of iterators and conversion. | |
G4ThreeVector | positionStart |
Global coordinates for the start, middle and end of this beamline element. | |
G4ThreeVector | positionMiddle |
Global coordinates for the start, middle and end of this beamline element. | |
G4ThreeVector | positionEnd |
Global coordinates for the start, middle and end of this beamline element. | |
G4RotationMatrix * | rotationStart |
Global rotation matrices for the start, middle and end of this beamline element. | |
G4RotationMatrix * | rotationMiddle |
Global rotation matrices for the start, middle and end of this beamline element. | |
G4RotationMatrix * | rotationEnd |
Global rotation matrices for the start, middle and end of this beamline element. | |
G4ThreeVector | referencePositionStart |
G4ThreeVector | referencePositionMiddle |
G4ThreeVector | referencePositionEnd |
G4RotationMatrix * | referenceRotationStart |
G4RotationMatrix * | referenceRotationMiddle |
G4RotationMatrix * | referenceRotationEnd |
G4double | sPositionStart |
S Positions for the start, middle and end of this beamline element. | |
G4double | sPositionMiddle |
S Positions for the start, middle and end of this beamline element. | |
G4double | sPositionEnd |
S Positions for the start, middle and end of this beamline element. | |
Friends | |
std::ostream & | operator<< (std::ostream &out, BDSBeamlineElement const &element) |
Output stream. | |
A class that holds a fully constructed BDSAcceleratorComponent as well as any information relevant to its position within the beamline.
For example, position information as curvilinear s position coordinate as these are only defined with respect to the components position in the beamline / lattice.
Each instance of this class owns the position vectors and rotation matrices BUT NOT the accelerator component - this is owned by the component registry.
This also owns an instance of BDSTiltOffset that the instance of this class was prepared with for reference. This is optional so can be nullptr and therefore should ALWAYS be tested on.
Definition at line 63 of file BDSBeamlineElement.hh.
BDSBeamlineElement::BDSBeamlineElement | ( | BDSAcceleratorComponent * | componentIn, |
const G4ThreeVector & | positionStartIn, | ||
const G4ThreeVector & | positionMiddleIn, | ||
const G4ThreeVector & | positionEndIn, | ||
G4RotationMatrix * | rotationStartIn, | ||
G4RotationMatrix * | rotationMiddleIn, | ||
G4RotationMatrix * | rotationEndIn, | ||
const G4ThreeVector & | referencePositionStartIn, | ||
const G4ThreeVector & | referencePositionMiddleIn, | ||
const G4ThreeVector & | referencePositionEndIn, | ||
G4RotationMatrix * | referenceRotationStartIn, | ||
G4RotationMatrix * | referenceRotationMiddleIn, | ||
G4RotationMatrix * | referenceRotationEndIn, | ||
G4double | sPositionStartIn, | ||
G4double | sPositionMiddleIn, | ||
G4double | sPositionEndIn, | ||
BDSTiltOffset * | tiltOffsetIn = nullptr , |
||
BDSSamplerInfo * | samplerInfoIn = nullptr , |
||
G4int | indexIn = -1 |
||
) |
placement name (starting at 0)
Definition at line 41 of file BDSBeamlineElement.cc.
References BDSSamplerPlane::ChordLength(), copyNumber, BDSAcceleratorComponent::GetCopyNumber(), BDSAcceleratorComponent::GetName(), GetSamplerType(), BDSAcceleratorComponent::IncrementCopyNumber(), BDSBeamline::PaddingLength(), placementName, placementTransform, placementTransformCL, positionMiddle, referencePositionEnd, referencePositionMiddle, referenceRotationEnd, referenceRotationMiddle, rotationMiddle, and samplerPlacementTransform.
BDSBeamlineElement::~BDSBeamlineElement | ( | ) |
Definition at line 99 of file BDSBeamlineElement.cc.
|
inline |
Whether the face normal is angled at all w.r.t. the incoming / outgoing reference trajectory.
Definition at line 147 of file BDSBeamlineElement.hh.
References BDSAcceleratorComponent::AngledInputFace(), and component.
|
inline |
Whether the face normal is angled at all w.r.t. the incoming / outgoing reference trajectory.
Definition at line 148 of file BDSBeamlineElement.hh.
References BDSAcceleratorComponent::AngledOutputFace(), and component.
|
inline |
Accessor.
Definition at line 103 of file BDSBeamlineElement.hh.
References component.
Referenced by BDSBeamline::AddBeamlineElement(), BDSBeamline::AddSingleComponent(), BDS::BuildEndPieceBeamline(), Overlaps(), BDSParallelWorldSampler::Place(), BDSLinkDetectorConstruction::PlaceOneComponent(), and BDSSurvey::Write().
|
inline |
Accessor.
Definition at line 108 of file BDSBeamlineElement.hh.
References component, and BDSAcceleratorComponent::GetAngle().
Referenced by BDSCurvilinearBuilder::Angled(), BDSCurvilinearBuilder::CurvilinearRadius(), and BDSParallelWorldSampler::Place().
|
inline |
Accessor.
Definition at line 106 of file BDSBeamlineElement.hh.
References component, and BDSAcceleratorComponent::GetArcLength().
Referenced by BDSCurvilinearBuilder::CurvilinearRadius(), and BDSCurvilinearBuilder::PreviousAndNext().
|
inline |
Accessor.
Definition at line 109 of file BDSBeamlineElement.hh.
References component, and BDSAcceleratorComponent::GetBeamPipeInfo().
|
inline |
Accessor.
Definition at line 107 of file BDSBeamlineElement.hh.
References component, and BDSAcceleratorComponent::GetChordLength().
Referenced by BDSBeamline::AddSingleComponent(), BDS::BuildEndPieceBeamline(), and BDSParallelWorldSampler::Place().
|
inline |
Accessor.
Definition at line 112 of file BDSBeamlineElement.hh.
References copyNumber.
Referenced by BDSLinkDetectorConstruction::PlaceOneComponent().
|
inline |
Accessor.
Definition at line 110 of file BDSBeamlineElement.hh.
References component, and BDSGeometryComponent::GetExtent().
Referenced by BDSParallelWorldSampler::Place().
BDSExtentGlobal BDSBeamlineElement::GetExtentGlobal | ( | ) | const |
Create a global extent object from the extent of the component.
Definition at line 163 of file BDSBeamlineElement.cc.
References component, BDSGeometryComponent::GetExtent(), and GetPlacementTransform().
Referenced by BDSBeamline::UpdateExtents().
|
inline |
Accessor.
Definition at line 134 of file BDSBeamlineElement.hh.
References index.
Referenced by BDSSamplerPlacementRecord::BeamlineIndex(), BDSCurvilinearBuilder::CreateBonusSectionEnd(), and BDSBeamline::GetIndicesOfElementsOfType().
|
inline |
Accessor.
Definition at line 135 of file BDSBeamlineElement.hh.
References component, and BDSAcceleratorComponent::Material().
|
inline |
Accessor.
Definition at line 104 of file BDSBeamlineElement.hh.
References component, and BDSAcceleratorComponent::GetName().
Referenced by BDSOutputStructures::PrepareCavityInformation(), BDSOutputStructures::PrepareCollimatorInformation(), and BDSBeamline::RegisterElement().
|
inline |
Accessor.
Definition at line 111 of file BDSBeamlineElement.hh.
References placementName.
Referenced by BDSBeamline::GetElement(), BDSLinkDetectorConstruction::PlaceOneComponent(), BDSOutputStructures::PrepareCavityInformation(), BDSOutputStructures::PrepareCollimatorInformation(), and BDSBeamline::RegisterElement().
|
inline |
Accessor.
Definition at line 129 of file BDSBeamlineElement.hh.
References placementTransform.
Referenced by GetExtentGlobal(), Overlaps(), PlaceElement(), and BDSLinkDetectorConstruction::PlaceOneComponent().
|
inline |
Accessor.
Definition at line 130 of file BDSBeamlineElement.hh.
References placementTransformCL.
Referenced by PlaceElement().
|
inline |
Accessor.
Definition at line 115 of file BDSBeamlineElement.hh.
References positionEnd.
Referenced by BDSBeamline::ProvideEndPieceElementAfter().
|
inline |
Accessor.
Definition at line 114 of file BDSBeamlineElement.hh.
References positionMiddle.
Referenced by BDSBeamline::GetTransformForElement(), and BDSSurvey::Write().
|
inline |
|
static |
Utility method to account for the interface in G4AssemblyVolume.
Definition at line 113 of file BDSBeamlineElement.cc.
Referenced by PlaceElement().
|
inline |
Accessor.
Definition at line 121 of file BDSBeamlineElement.hh.
References referencePositionEnd.
Referenced by BDSBeamline::AddComponent(), BDSBeamline::AddSingleComponent(), BDSBeamline::ApplyTransform3D(), BDSTunnelBuilder::BuildTunnelSections(), BDS::CalculateTeleporterDelta(), BDSCurvilinearBuilder::CreateBonusSectionEnd(), BDSCurvilinearBuilder::CreateBridgeElementFromComponent(), BDSCurvilinearBuilder::CreateElementFromComponent(), and BDSParallelWorldSampler::Place().
|
inline |
Accessor.
Definition at line 120 of file BDSBeamlineElement.hh.
References referencePositionMiddle.
Referenced by BDSCurvilinearBuilder::CreateElementFromComponent().
|
inline |
Accessor.
Definition at line 119 of file BDSBeamlineElement.hh.
References referencePositionStart.
Referenced by BDSBeamline::AddComponent(), BDSCurvilinearBuilder::CreateBonusSectionStart(), and BDSCurvilinearBuilder::CreateElementFromComponent().
|
inline |
Accessor.
Definition at line 124 of file BDSBeamlineElement.hh.
References referenceRotationEnd.
Referenced by BDSBeamline::AddComponent(), BDSBeamline::AddSingleComponent(), BDSBeamline::ApplyTransform3D(), BDSCurvilinearBuilder::CreateBonusSectionEnd(), BDSCurvilinearBuilder::CreateBridgeElementFromComponent(), and BDSCurvilinearBuilder::CreateElementFromComponent().
|
inline |
Accessor.
Definition at line 123 of file BDSBeamlineElement.hh.
References referenceRotationMiddle.
Referenced by BDSCurvilinearBuilder::CreateElementFromComponent().
|
inline |
Accessor.
Definition at line 122 of file BDSBeamlineElement.hh.
References referenceRotationStart.
Referenced by BDSBeamline::AddComponent(), BDSCurvilinearBuilder::CreateBonusSectionStart(), and BDSCurvilinearBuilder::CreateElementFromComponent().
|
inline |
Accessor.
Definition at line 118 of file BDSBeamlineElement.hh.
References rotationEnd.
Referenced by BDSCurvilinearBuilder::CreateElementFromComponent().
|
inline |
Accessor.
Definition at line 117 of file BDSBeamlineElement.hh.
References rotationMiddle.
Referenced by BDSCurvilinearBuilder::CreateElementFromComponent(), BDSBeamline::GetTransformForElement(), BDSBeamline::ProvideEndPieceElementAfter(), and BDSSurvey::Write().
|
inline |
Accessor.
Definition at line 116 of file BDSBeamlineElement.hh.
References rotationStart.
Referenced by BDSCurvilinearBuilder::CreateElementFromComponent().
|
inline |
Accessor.
Definition at line 131 of file BDSBeamlineElement.hh.
Referenced by BDSBeamline::AddComponent(), and BDSParallelWorldSampler::Place().
|
inline |
Accessor.
Definition at line 133 of file BDSBeamlineElement.hh.
References samplerPlacementTransform.
Referenced by BDSParallelWorldSampler::Place().
|
inline |
Accessor.
Definition at line 132 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and BDSLinkDetectorConstruction::PlaceOneComponent().
|
inline |
Accessor.
Definition at line 127 of file BDSBeamlineElement.hh.
References sPositionEnd.
Referenced by BDSBeamline::AddSingleComponent(), BDSDetectorConstruction::BuildBeamlines(), BDSOutput::CalculateHistogramParameters(), BDSCurvilinearBuilder::CreateBonusSectionEnd(), BDSCurvilinearBuilder::CreateBridgeElementFromComponent(), BDSCurvilinearBuilder::CreateElementFromComponent(), BDSBeamline::GetEdgeSPositions(), BDSParallelWorldSampler::Place(), BDSBeamline::ProvideEndPieceElementAfter(), and BDSSurvey::Write().
|
inline |
Accessor.
Definition at line 126 of file BDSBeamlineElement.hh.
References sPositionMiddle.
Referenced by BDSCurvilinearBuilder::CreateElementFromComponent(), BDSDetectorConstruction::CreatePlacementTransform(), and BDSSurvey::Write().
|
inline |
Accessor.
Definition at line 125 of file BDSBeamlineElement.hh.
References sPositionStart.
Referenced by BDSCurvilinearBuilder::CreateBonusSectionStart(), BDSCurvilinearBuilder::CreateBridgeElementFromComponent(), BDSCurvilinearBuilder::CreateElementFromComponent(), BDSBeamline::GetGlobalEuclideanTransform(), BDSLinkDetectorConstruction::PlaceOneComponent(), and BDSSurvey::Write().
|
inline |
Convenience accessor.
Definition at line 152 of file BDSBeamlineElement.hh.
References BDSTiltOffset::GetTilt(), and tiltOffset.
Referenced by BDS::BuildEndPieceBeamline().
|
inline |
Accessor.
Definition at line 128 of file BDSBeamlineElement.hh.
References tiltOffset.
Referenced by BDSCurvilinearBuilder::CreateBridgeElementFromComponent(), and BDSBeamline::ProvideEndPieceElementAfter().
|
inline |
Accessor.
Definition at line 105 of file BDSBeamlineElement.hh.
References component, and BDSAcceleratorComponent::GetType().
Referenced by BDSBeamline::AddSingleComponent(), BDS::BuildEndPieceBeamline(), and BDSBeamline::GetIndicesOfElementsOfType().
G4ThreeVector BDSBeamlineElement::InputFaceNormal | ( | ) | const |
Return face normal accounting for placement tilt of this component.
Definition at line 170 of file BDSBeamlineElement.cc.
References component, BDSTiltOffset::GetTilt(), BDSAcceleratorComponent::InputFaceNormal(), and tiltOffset.
G4ThreeVector BDSBeamlineElement::OutputFaceNormal | ( | ) | const |
Return face normal accounting for placement tilt of this component.
Definition at line 182 of file BDSBeamlineElement.cc.
References component, BDSTiltOffset::GetTilt(), BDSAcceleratorComponent::OutputFaceNormal(), and tiltOffset.
G4bool BDSBeamlineElement::Overlaps | ( | const BDSBeamlineElement * | otherElement | ) | const |
Whether this beam line element will overlaps in 3D Cartesian coordinates with another.
Definition at line 213 of file BDSBeamlineElement.cc.
References component, GetAcceleratorComponent(), BDSGeometryComponent::GetExtent(), and GetPlacementTransform().
std::set< G4VPhysicalVolume * > BDSBeamlineElement::PlaceElement | ( | const G4String & | pvName, |
G4VPhysicalVolume * | containerPV, | ||
G4bool | useCLPlacementTransform, | ||
G4int | copyNumber, | ||
G4bool | checkOverlaps | ||
) | const |
Make a placement of the element with the desired name and copy number. In the case of an assembly, a set of pvs is returned.
Definition at line 124 of file BDSBeamlineElement.cc.
References component, BDSGeometryComponent::ContainerIsAssembly(), BDSGeometryComponent::GetContainerAssemblyVolume(), BDSGeometryComponent::GetContainerLogicalVolume(), GetPlacementTransform(), GetPlacementTransformCL(), and GetPVsFromAssembly().
Referenced by BDSLinkDetectorConstruction::PlaceOneComponent().
void BDSBeamlineElement::UpdateSamplerPlacementTransform | ( | const G4Transform3D & | tranfsormIn | ) |
Delete the previous sampler placement transform owned by this object and create a new one based on this input object.
Definition at line 194 of file BDSBeamlineElement.cc.
References samplerPlacementTransform.
Referenced by BDSBeamline::AddComponent().
|
friend |
Output stream.
Definition at line 200 of file BDSBeamlineElement.cc.
|
private |
The accelerator component.
Definition at line 171 of file BDSBeamlineElement.hh.
Referenced by AngledInputFace(), AngledOutputFace(), GetAcceleratorComponent(), GetAngle(), GetArcLength(), GetBeamPipeInfo(), GetChordLength(), GetExtent(), GetExtentGlobal(), GetMaterial(), GetName(), GetType(), InputFaceNormal(), OutputFaceNormal(), Overlaps(), and PlaceElement().
|
private |
identification number of AcceleratorComponent (0 for first volume of given type)
Definition at line 180 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and GetCopyNo().
|
private |
Index of this item in the beamline - saves keeping track of iterators and conversion.
Definition at line 238 of file BDSBeamlineElement.hh.
Referenced by GetIndex().
|
private |
A unique name for placement with "_pv" suffix created for each element when added to the beamline which is made by interrogating how many times the BDSAcceleratorComponent has been placed (increments the accelerator component placement counter).
Definition at line 177 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and GetPlacementName().
|
private |
Transform made from positionMiddle and rotationMiddle. By using them as a transform, the rotation matrix is the correct way around (inversion).
Definition at line 219 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and GetPlacementTransform().
|
private |
Transform made from the referencePositionMiddle and referenceRottationMiddle. The read out (curvilinear) geometry should always align with the reference trajectory and not the possibly offset position of the mass geometry, hence have a separate transform for it.
Definition at line 225 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and GetPlacementTransformCL().
|
private |
Global coordinates for the start, middle and end of this beamline element.
Definition at line 185 of file BDSBeamlineElement.hh.
Referenced by GetPositionEnd().
|
private |
Global coordinates for the start, middle and end of this beamline element.
Definition at line 184 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and GetPositionMiddle().
|
private |
Global coordinates for the start, middle and end of this beamline element.
Definition at line 183 of file BDSBeamlineElement.hh.
Referenced by GetPositionStart().
|
private |
Global coordinates for the start, middle and end of this beamline element along the reference trajectory without any component offsets / displacements
Definition at line 198 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and GetReferencePositionEnd().
|
private |
Global coordinates for the start, middle and end of this beamline element along the reference trajectory without any component offsets / displacements
Definition at line 197 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and GetReferencePositionMiddle().
|
private |
Global coordinates for the start, middle and end of this beamline element along the reference trajectory without any component offsets / displacements
Definition at line 196 of file BDSBeamlineElement.hh.
Referenced by GetReferencePositionStart().
|
private |
Global rotation matrices for the start, middle and end of this beamline element along the reference trajectory without any tilt or rotation from the component
Definition at line 205 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and GetReferenceRotationEnd().
|
private |
Global rotation matrices for the start, middle and end of this beamline element along the reference trajectory without any tilt or rotation from the component
Definition at line 204 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and GetReferenceRotationMiddle().
|
private |
Global rotation matrices for the start, middle and end of this beamline element along the reference trajectory without any tilt or rotation from the component
Definition at line 203 of file BDSBeamlineElement.hh.
Referenced by GetReferenceRotationStart().
|
private |
Global rotation matrices for the start, middle and end of this beamline element.
Definition at line 191 of file BDSBeamlineElement.hh.
Referenced by GetRotationEnd().
|
private |
Global rotation matrices for the start, middle and end of this beamline element.
Definition at line 190 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), and GetRotationMiddle().
|
private |
Global rotation matrices for the start, middle and end of this beamline element.
Definition at line 189 of file BDSBeamlineElement.hh.
Referenced by GetRotationStart().
|
private |
Definition at line 227 of file BDSBeamlineElement.hh.
|
private |
The transform for where the sampler 'attached' to this element should be placed. Note this would normally overlap in the real 'mass' world, but this will be used in the sampler parallel world, so a transform to coordinates that lie within the accelerator component are valid. This transform places the sampler just at the end of the element overlapping with the outgoing boundary as defined by the reference position at the end and the reference rotation at the end.
Definition at line 235 of file BDSBeamlineElement.hh.
Referenced by BDSBeamlineElement(), GetSamplerPlacementTransform(), and UpdateSamplerPlacementTransform().
|
private |
S Positions for the start, middle and end of this beamline element.
Definition at line 211 of file BDSBeamlineElement.hh.
Referenced by GetSPositionEnd().
|
private |
S Positions for the start, middle and end of this beamline element.
Definition at line 210 of file BDSBeamlineElement.hh.
Referenced by GetSPositionMiddle().
|
private |
S Positions for the start, middle and end of this beamline element.
Definition at line 209 of file BDSBeamlineElement.hh.
Referenced by GetSPositionStart().
|
private |
The tilt and offset this element was constructed with. Default is nullptr.
Definition at line 215 of file BDSBeamlineElement.hh.
Referenced by GetTilt(), GetTiltOffset(), InputFaceNormal(), and OutputFaceNormal().