BDSBeamlineElement Class Reference

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. More...

#include <BDSBeamlineElement.hh>

Inheritance diagram for BDSBeamlineElement:

Inheritance graph
[legend]
Collaboration diagram for BDSBeamlineElement:

Collaboration graph
[legend]

Public Member Functions

 BDSBeamlineElement (BDSAcceleratorComponent *component, G4ThreeVector positionStart, G4ThreeVector positionMiddle, G4ThreeVector positionEnd, G4RotationMatrix *rotationStart, G4RotationMatrix *rotationMiddle, G4RotationMatrix *rotationEnd, G4ThreeVector referencePositionStart, G4ThreeVector referencePositionMiddle, G4ThreeVector referencePositionEnd, G4RotationMatrix *referenceRotationStart, G4RotationMatrix *referenceRotationMiddle, G4RotationMatrix *referenceRotationEnd, G4double sPositionStart, G4double sPositionMiddle, G4double sPositionEnd, G4ThreeVector xAxisReferenceStart, G4ThreeVector yAxisReferenceStart, G4ThreeVector zAxisReferenceStart, G4ThreeVector xAxisReferenceMiddle, G4ThreeVector yAxisReferenceMiddle, G4ThreeVector zAxisReferenceMiddle, G4ThreeVector xAxisReferenceEnd, G4ThreeVector yAxisReferenceEnd, G4ThreeVector zAxisReferenceEnd)
 ~BDSBeamlineElement ()
BDSAcceleratorComponentGetAcceleratorComponent () const
 Accessor.
G4String GetName () 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.
G4ThreeVector GetXAxisReferenceStart () const
 Accessor.
G4ThreeVector GetYAxisReferenceStart () const
 Accessor.
G4ThreeVector GetZAxisReferenceStart () const
 Accessor.
G4ThreeVector GetXAxisReferenceMiddle () const
 Accessor.
G4ThreeVector GetYAxisReferenceMiddle () const
 Accessor.
G4ThreeVector GetZAxisReferenceMiddle () const
 Accessor.
G4ThreeVector GetXAxisReferenceEnd () const
 Accessor.
G4ThreeVector GetYAxisReferenceEnd () const
 Accessor.
G4ThreeVector GetZAxisReferenceEnd () const
 Accessor.
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.
void SetXAxisReferenceEnd (G4ThreeVector newXAxisReferenceEnd)
 Reassign the end variable as required when applying a transform.
void SetYAxisReferenceEnd (G4ThreeVector newYAxisReferenceEnd)
 Reassign the end variable as required when applying a transform.
void SetZAxisReferenceEnd (G4ThreeVector newZAxisReferenceEnd)
 Reassign the end variable as required when applying a transform.

Private Member Functions

 BDSBeamlineElement ()
 Private default constructor to force use of provided constructor.

Private Attributes

BDSAcceleratorComponentcomponent
 The accelerator component.
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.
G4ThreeVector xAxisReferenceStart
G4ThreeVector yAxisReferenceStart
G4ThreeVector zAxisReferenceStart
G4ThreeVector xAxisReferenceMiddle
G4ThreeVector yAxisReferenceMiddle
G4ThreeVector zAxisReferenceMiddle
G4ThreeVector xAxisReferenceEnd
G4ThreeVector yAxisReferenceEnd
G4ThreeVector zAxisReferenceEnd

Friends

std::ostream & operator<< (std::ostream &out, BDSBeamlineElement const &element)
 output stream

Detailed Description

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 as well as the accelerator component.

Author:
Laurie Nevay <laurie.nevay@rhul.ac.uk>

Definition at line 26 of file BDSBeamlineElement.hh.


Field Documentation

G4ThreeVector BDSBeamlineElement::referencePositionEnd [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 120 of file BDSBeamlineElement.hh.

Referenced by GetReferencePositionEnd().

G4ThreeVector BDSBeamlineElement::referencePositionMiddle [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 119 of file BDSBeamlineElement.hh.

Referenced by GetReferencePositionMiddle().

G4ThreeVector BDSBeamlineElement::referencePositionStart [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 118 of file BDSBeamlineElement.hh.

Referenced by GetReferencePositionStart().

G4RotationMatrix* BDSBeamlineElement::referenceRotationEnd [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 127 of file BDSBeamlineElement.hh.

Referenced by GetReferenceRotationEnd(), and ~BDSBeamlineElement().

G4RotationMatrix* BDSBeamlineElement::referenceRotationMiddle [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 126 of file BDSBeamlineElement.hh.

Referenced by GetReferenceRotationMiddle(), and ~BDSBeamlineElement().

G4RotationMatrix* BDSBeamlineElement::referenceRotationStart [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 125 of file BDSBeamlineElement.hh.

Referenced by GetReferenceRotationStart(), and ~BDSBeamlineElement().

G4ThreeVector BDSBeamlineElement::xAxisReferenceEnd [private]

Vector representing the local (X,Y,Z) axis after cumulative rotation and translation along the line. One for each of the start, middle and end of each component. These are required to apply the rotations about.

Definition at line 145 of file BDSBeamlineElement.hh.

Referenced by GetXAxisReferenceEnd().

G4ThreeVector BDSBeamlineElement::xAxisReferenceMiddle [private]

Vector representing the local (X,Y,Z) axis after cumulative rotation and translation along the line. One for each of the start, middle and end of each component. These are required to apply the rotations about.

Definition at line 142 of file BDSBeamlineElement.hh.

Referenced by GetXAxisReferenceMiddle().

G4ThreeVector BDSBeamlineElement::xAxisReferenceStart [private]

Vector representing the local (X,Y,Z) axis after cumulative rotation and translation along the line. One for each of the start, middle and end of each component. These are required to apply the rotations about.

Definition at line 139 of file BDSBeamlineElement.hh.

Referenced by GetXAxisReferenceStart().

G4ThreeVector BDSBeamlineElement::yAxisReferenceEnd [private]

Vector representing the local (X,Y,Z) axis after cumulative rotation and translation along the line. One for each of the start, middle and end of each component. These are required to apply the rotations about.

Definition at line 146 of file BDSBeamlineElement.hh.

Referenced by GetYAxisReferenceEnd().

G4ThreeVector BDSBeamlineElement::yAxisReferenceMiddle [private]

Vector representing the local (X,Y,Z) axis after cumulative rotation and translation along the line. One for each of the start, middle and end of each component. These are required to apply the rotations about.

Definition at line 143 of file BDSBeamlineElement.hh.

Referenced by GetYAxisReferenceMiddle().

G4ThreeVector BDSBeamlineElement::yAxisReferenceStart [private]

Vector representing the local (X,Y,Z) axis after cumulative rotation and translation along the line. One for each of the start, middle and end of each component. These are required to apply the rotations about.

Definition at line 140 of file BDSBeamlineElement.hh.

Referenced by GetYAxisReferenceStart().

G4ThreeVector BDSBeamlineElement::zAxisReferenceEnd [private]

Vector representing the local (X,Y,Z) axis after cumulative rotation and translation along the line. One for each of the start, middle and end of each component. These are required to apply the rotations about.

Definition at line 147 of file BDSBeamlineElement.hh.

Referenced by GetZAxisReferenceEnd().

G4ThreeVector BDSBeamlineElement::zAxisReferenceMiddle [private]

Vector representing the local (X,Y,Z) axis after cumulative rotation and translation along the line. One for each of the start, middle and end of each component. These are required to apply the rotations about.

Definition at line 144 of file BDSBeamlineElement.hh.

Referenced by GetZAxisReferenceMiddle().

G4ThreeVector BDSBeamlineElement::zAxisReferenceStart [private]

Vector representing the local (X,Y,Z) axis after cumulative rotation and translation along the line. One for each of the start, middle and end of each component. These are required to apply the rotations about.

Definition at line 141 of file BDSBeamlineElement.hh.

Referenced by GetZAxisReferenceStart().


The documentation for this class was generated from the following files:
Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7