24BDSLine::BDSLine(G4String nameIn):
29{
line.push_back(component);}
34 for (
auto component : *
this)
35 {result += component->GetArcLength();}
42 for (
auto component : *
this)
43 {result += component->GetChordLength();}
49 std::set<G4LogicalVolume*> result;
50 for (
auto component : *
this)
52 auto vlvs = component->GetAcceleratorVacuumLogicalVolumes();
53 result.insert(vlvs.begin(), vlvs.end());
60 std::set<G4LogicalVolume*> result;
61 for (
auto component : *
this)
63 auto vlvs = component->GetAcceleratorMaterialLogicalVolumes();
64 result.insert(vlvs.begin(), vlvs.end());
71 for (
auto component : *
this)
74 G4cout << __METHOD_NAME__ <<
"Initialising component named: " << component->GetName() << G4endl;
76 component->Initialise();
83 for (
auto component : *
this)
84 {component->SetBiasVacuumList(biasVacuumListIn);}
90 for (
auto component : *
this)
91 {component->SetBiasMaterialList(biasMaterialListIn);}
97 for (
auto component: *
this)
98 {component->SetRegion(regionIn);}
Abstract class that represents a component of an accelerator.
virtual void SetBiasVacuumList(const std::list< std::string > &biasVacuumListIn)
Copy the bias list to this element.
virtual void SetBiasMaterialList(const std::list< std::string > &biasMaterialListIn)
Copy the bias list to this element.
virtual void SetRegion(const G4String ®ionIn)
Set the region name for this component.
virtual void SetBiasVacuumList(const std::list< std::string > &biasVacuumList)
Copy the bias list to each component.
virtual std::set< G4LogicalVolume * > GetAcceleratorVacuumLogicalVolumes() const
Re-implement from BDSAcceleratorComponent.
virtual void SetBiasMaterialList(const std::list< std::string > &biasMaterialList)
Copy the bias list to each component.
virtual void Initialise()
virtual void SetRegion(const G4String ®ion)
Set the region name for each component.
virtual std::set< G4LogicalVolume * > GetAcceleratorMaterialLogicalVolumes() const
Re-implement from BDSAcceleratorComponent.
BDSLineVector line
Member vector to store components.
void AddComponent(BDSAcceleratorComponent *component)
Add a component to the line.
virtual G4double GetArcLength() const
Override base class method as BDSAcceleratorComponent::chordLength etc variables are const and we app...
virtual G4double GetChordLength() const
Override base class method as BDSAcceleratorComponent::chordLength etc variables are const and we app...