19#ifndef BDSLINKCOMPONENT_H
20#define BDSLINKCOMPONENT_H
22#include "BDSAcceleratorComponent.hh"
23#include "BDSLinkOpaqueBox.hh"
50 const G4ThreeVector& inputFaceNormalIn = G4ThreeVector(0,0,-1),
51 const G4ThreeVector& outputFaceNormalIn = G4ThreeVector(0,0, 1));
59 inline G4String
LinkName()
const {
return component ? component->
LinkName() :
"unknown";}
Abstract class that represents a component of an accelerator.
A BDSAcceleratorComponent wrapper for BDSLinkOpaqueBox.
BDSLinkOpaqueBox * Component() const
Accessor.
G4double ComponentChordLength() const
Accessor.
G4String LinkName() const
Accessor.
BDSLinkComponent(BDSLinkComponent &)=delete
Assignment and copy constructor not implemented nor used.
G4double ComponentArcLength() const
Accessor.
BDSLinkComponent & operator=(const BDSLinkComponent &)=delete
Assignment and copy constructor not implemented nor used.
BDSLinkComponent()=delete
virtual ~BDSLinkComponent() noexcept
virtual void BuildContainerLogicalVolume()
Required implementation from base class.
Wrapper box for an accelerator component.
G4String LinkName() const
Accessor.
G4double ChordLength() const
Accessor.
G4double ArcLength() const
Accessor.