00001 #ifndef BDSLine_h 00002 #define BDSLine_h 00003 00004 #include <vector> 00005 #include "BDSAcceleratorComponent.hh" 00006 00016 class BDSLine: public BDSAcceleratorComponent 00017 { 00018 public: 00020 // chosen not to distinguish between non-const and const cases 00021 typedef std::vector<BDSAcceleratorComponent*>::iterator BDSLineIterator; 00022 00023 BDSLine(G4String name); 00024 ~BDSLine(){}; 00025 00026 void addComponent(BDSAcceleratorComponent* component); 00027 BDSLineIterator begin(){return line.begin();} 00028 BDSLineIterator end(){return line.end();} 00029 00032 virtual void Initialise(); 00033 00034 private: 00036 virtual void BuildContainerLogicalVolume(){}; 00037 00039 std::vector<BDSAcceleratorComponent*> line; 00040 }; 00041 00042 #endif