Public Member Functions | |
BDSRBend (G4String name, G4double length, G4double bField, G4double bGrad, G4double angle, BDSBeamPipeInfo *beamPipeInfo, BDSMagnetOuterInfo magnetOuterInfo, BDSTiltOffset tiltOffset=BDSTiltOffset()) | |
~BDSRBend () | |
Private Member Functions | |
virtual void | Build () |
virtual void | BuildBPFieldAndStepper () |
define field and stepper | |
virtual void | BuildBeampipe () |
general straight beampipe - can be overloaded by derived classes | |
virtual void | BuildOuterVolume () |
method to create outer volume | |
void | CommonConstructor (G4double aLength) |
Private Attributes | |
G4double | itsBField |
G4double | itsBGrad |
G4double | itsMagFieldLength |
G4double | itsStraightSectionChord |
chord length of straight section (along main chord) [m] | |
G4double | itsStraightSectionLength |
length of little straight sections on either side of dipole [m] | |
G4double | magnetXShift |
x shift for magnet and beampipe from chord | |
G4int | orientation |
orientation of shifts - depends on angle - calculations use absolute value of angle for safety | |
G4double | outerRadius |
radius of magnet body |
Definition at line 12 of file BDSRBend.hh.
void BDSRBend::Build | ( | ) | [private, virtual] |
Build the container only. Should be overridden by derived class to add more geometry apart from the container volume. The overridden Build() function can however, call make use of this function to call BuildContainerLogicalVolume() by calling BDSAcceleratorComponent::Build() at the beginning.
Reimplemented from BDSMagnet.
Definition at line 81 of file BDSRBend.cc.
References BDSMagnet::Build(), BDSMagnet::BuildOuterFieldManager(), BDSGlobalConstants::GetComponentBoxSize(), BDSGlobalConstants::GetMagnetPoleRadius(), BDSGlobalConstants::GetMagnetPoleSize(), BDSGlobalConstants::Instance(), and BDSMagnet::itsMagField.
Here is the call graph for this function:
void BDSRBend::CommonConstructor | ( | G4double | aLength | ) | [private] |
temporary function while old constructor still exists - used to avoid duplicating code in the mean time
Definition at line 46 of file BDSRBend.cc.
References BDSAcceleratorComponent::angle, BDS::CalculateOrientation(), BDSAcceleratorComponent::chordLength, BDSMagnet::inputface, itsMagFieldLength, itsStraightSectionChord, itsStraightSectionLength, magnetXShift, orientation, outerRadius, and BDSMagnet::outputface.
Referenced by BDSRBend().
Here is the call graph for this function:
Here is the caller graph for this function: