/scratch0/jsnuveri/BDSIM/BDSIMgit/bdsim/include/BDSBeamPipe.hh

00001 #ifndef BDSBEAMPIPE_H
00002 #define BDSBEAMPIPE_H
00003 
00004 #include "BDSGeometryComponent.hh"
00005 
00006 #include "globals.hh"               // geant4 globals / types
00007 #include "G4LogicalVolume.hh"
00008 #include "G4VSolid.hh"
00009 #include <utility>                  // for std::pair
00010 
00019 class BDSBeamPipe: public BDSGeometryComponent
00020 {
00021 public:
00024   BDSBeamPipe(G4VSolid*                 containerSolidIn,
00025               G4LogicalVolume*          containerLVIn,
00026               std::pair<double, double> extentXIn,
00027               std::pair<double, double> extentYIn,
00028               std::pair<double, double> extentZIn,
00029               G4VSolid*                 containerSubtractionSolidIn,
00030               G4LogicalVolume*          vacuumLVIn,
00031               G4bool                    containerIsCircularIn = false,
00032               G4double                  containerRadiusIn = 0.0
00033               );
00034   ~BDSBeamPipe(); 
00035 
00038   G4VSolid*        GetContainerSubtractionSolid();
00040   G4LogicalVolume* GetVacuumLogicalVolume();
00043   G4bool           ContainerIsCircular();
00045   G4double         GetContainerRadius();
00046   
00047 protected:
00048   G4VSolid*        containerSubtractionSolid;
00049   G4LogicalVolume* vacuumLogicalVolume;
00050   G4bool           containerIsCircular;
00051   G4double         containerRadius;
00052 };
00053 
00054 inline G4VSolid* BDSBeamPipe::GetContainerSubtractionSolid()
00055 {return containerSubtractionSolid;}
00056 
00057 inline G4LogicalVolume* BDSBeamPipe::GetVacuumLogicalVolume()
00058 {return vacuumLogicalVolume;}
00059 
00060 inline G4bool BDSBeamPipe::ContainerIsCircular()
00061 {return containerIsCircular;}
00062 
00063 inline G4double BDSBeamPipe::GetContainerRadius()
00064 {return containerRadius;}
00065 
00066 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7