BDSCollimatorBase Class Reference

Inheritance diagram for BDSCollimatorBase:

Inheritance graph
[legend]
Collaboration diagram for BDSCollimatorBase:

Collaboration graph
[legend]

Public Member Functions

 BDSCollimatorBase (G4String name, G4double length, G4double outerDiameter, G4String type, G4double xApertureIn=0, G4double yApertureIn=0, G4String collimatorMaterial="copper", G4String vacuumMaterial="vacuum", BDSTiltOffset tiltOffset=BDSTiltOffset())
 ~BDSCollimatorBase ()

Protected Member Functions

virtual void Build ()
virtual void BuildContainerLogicalVolume ()
virtual void BuildInnerCollimator ()=0

Protected Attributes

G4VSolid * collimatorSolid
G4VSolid * innerSolid
G4VSolid * vacuumSolid
G4double outerDiameter
G4double xAperture
G4double yAperture
G4String collimatorMaterial
G4String vacuumMaterial

Detailed Description

Definition at line 17 of file BDSCollimatorBase.hh.


Member Function Documentation

void BDSCollimatorBase::Build (  )  [protected, 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 BDSAcceleratorComponent.

Definition at line 66 of file BDSCollimatorBase.cc.

References BDSAcceleratorComponent::Build(), BuildInnerCollimator(), BDSAcceleratorComponent::chordLength, collimatorMaterial, collimatorSolid, BDSGeometryComponent::containerLogicalVolume, BDSMaterials::GetMaterial(), innerSolid, BDSGlobalConstants::Instance(), BDSMaterials::Instance(), BDS::IsFinite(), BDSAcceleratorComponent::lengthSafety, BDSAcceleratorComponent::name, outerDiameter, BDSGeometryComponent::RegisterLogicalVolume(), BDSGeometryComponent::RegisterSensitiveVolume(), vacuumMaterial, vacuumSolid, xAperture, and yAperture.

Here is the call graph for this function:

void BDSCollimatorBase::BuildContainerLogicalVolume (  )  [protected, virtual]

Build the container solid and logical volume that all parts of the component will contained within - must be provided by derived class.

Implements BDSAcceleratorComponent.

Definition at line 54 of file BDSCollimatorBase.cc.

References BDSAcceleratorComponent::chordLength, BDSGeometryComponent::containerLogicalVolume, BDSGeometryComponent::containerSolid, BDSAcceleratorComponent::emptyMaterial, BDSAcceleratorComponent::name, and outerDiameter.

virtual void BDSCollimatorBase::BuildInnerCollimator (  )  [protected, pure virtual]

Pure virtual function to be provided by derived classes. Must produce vacuumSolid and innerSolid - the inner is used to subtract from the mass and the vacuum is placed inside it all

Implemented in BDSCollimatorElliptical, and BDSCollimatorRectangular.

Referenced by Build().

Here is the caller graph for this function:


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