00001 #ifndef BDSLens_h 00002 #define BDSLens_h 00003 00004 #include "globals.hh" 00005 #include "G4LogicalVolume.hh" 00006 #include "G4VisAttributes.hh" 00007 #include "G4VSolid.hh" 00008 00009 class BDSLens 00010 { 00011 public: 00012 BDSLens(G4String name, G4double diameter, G4double rho, G4double centreThickness); 00013 ~BDSLens(); 00014 G4LogicalVolume* log(); 00015 G4String name(); 00016 inline G4double centreThickness(){return _centreThickness;} 00017 inline G4double diameter(){return _diameter;} 00018 inline G4double rho(){return _rho;} //Radius of curvature 00019 00020 private: 00021 void build(); 00022 void visAtt(); 00023 00024 G4String _name; 00025 G4double _diameter; 00026 G4double _rho; //radius of curvature 00027 G4double _centreThickness; 00028 // Geometrical objects: 00029 G4LogicalVolume* _log; 00030 G4VSolid* _solid; 00031 G4VisAttributes* _visAtt; 00032 }; 00033 00034 #endif