include/BDSTunnelCavitySection.hh

00001 #ifndef __BDSTUNNELCAVITYSECTION_H
00002 #define __BDSTUNNELCAVITYSECTION_H
00003 #include "BDSAcceleratorComponent.hh"
00004 #include "G4ThreeVector.hh"
00005 
00006 class BDSTunnelCavitySection
00007 {
00008 public:
00009   BDSTunnelCavitySection(); 
00010   ~BDSTunnelCavitySection();
00011   BDSTunnelCavitySection(BDSAcceleratorComponent* var);//A tunnel cavity section is associated with an accelerator component
00012   void visAttributes()const;
00013   //Setting functions
00014   void rotation(G4RotationMatrix* var);
00015   void logicalVolume(G4LogicalVolume* var);
00016   void solid(G4VSolid* var);  
00017   void physi(G4VPhysicalVolume* var);
00018   //Getting functions
00019   G4ThreeVector* positionOffset();
00020   G4RotationMatrix* rotation();
00021   G4double length();
00022   G4double angle();
00023   G4double radius();
00024   G4String name();
00025   G4Material* material();
00026   G4LogicalVolume* logicalVolume();
00027   G4VSolid* solid();
00028   BDSAcceleratorComponent* acceleratorComponent();
00029   
00030 private: 
00031   G4String _name;
00032   G4double _radius;
00033   G4double _length;
00034   G4double _angle;
00035   G4ThreeVector* _positionOffset;
00036   G4RotationMatrix* _rotation;
00037   G4Material* _material;
00038   G4LogicalVolume* _logicalVolume;
00039   G4VSolid* _solid;  
00040   G4VPhysicalVolume* _physi;
00041   //Just a null rotation matrix...
00042   G4RotationMatrix* _nullRotationMatrix;
00043   //The accelerator component associated with the section of tunnel cavity...
00044   BDSAcceleratorComponent* _acceleratorComponent;
00045 };
00046 
00047 #endif
00048 
00049 

Generated on 27 Aug 2013 for BDSIM by  doxygen 1.4.7