23BDSLine::BDSLine(G4String nameIn):
28{
line.push_back(component);}
33 for (
auto component : *
this)
41 for (
auto component : *
this)
42 {result += component->GetChordLength();}
48 std::set<G4LogicalVolume*> result;
49 for (
auto component : *
this)
51 auto vlvs = component->GetAcceleratorVacuumLogicalVolumes();
52 result.insert(vlvs.begin(), vlvs.end());
59 std::set<G4LogicalVolume*> result;
60 for (
auto component : *
this)
62 auto vlvs = component->GetAcceleratorMaterialLogicalVolumes();
63 result.insert(vlvs.begin(), vlvs.end());
70 for (
auto component : *
this)
73 G4cout << __METHOD_NAME__ <<
"Initialising component named: " << component->GetName() << G4endl;
75 component->Initialise();
82 for (
auto component : *
this)
83 {component->SetBiasVacuumList(biasVacuumListIn);}
89 for (
auto component : *
this)
90 {component->SetBiasMaterialList(biasMaterialListIn);}
96 for (
auto component : *
this)
97 {component->SetBiasMaterialLVList(biasMaterialLVListIn);}
103 for (
auto component: *
this)
104 {component->SetRegion(regionIn);}
Abstract class that represents a component of an accelerator.
virtual void SetBiasMaterialLVList(const std::list< std::string > &biasMaterialLVListIn)
Copy the bias list to this element.
virtual G4double GetArcLength() const
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.
virtual void SetBiasMaterialLVList(const std::list< std::string > &biasMaterialLVList)
Copy the bias list to each component.
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...