src/BDSTunnelCavitySection.cc

00001 #include "BDSTunnelCavitySection.hh"
00002 #include "BDSMaterials.hh"
00003 
00004 BDSTunnelCavitySection::BDSTunnelCavitySection(){
00005   G4Exception("Error - BDSTunnelCavitySection must be initialized with an accelerator component as argument!", "-1", FatalErrorInArgument, "");
00006 }
00007 
00008 BDSTunnelCavitySection::BDSTunnelCavitySection(BDSAcceleratorComponent* var){
00009   _acceleratorComponent=var;
00010   _name=_acceleratorComponent->GetName()+"_tunnel_cavity";
00011   _radius=_acceleratorComponent->GetTunnelRadius();
00012   _length=_acceleratorComponent->GetLength();
00013   _angle=_acceleratorComponent->GetAngle();
00014   G4double posX(_acceleratorComponent->GetTunnelOffsetX());
00015   G4double posY(BDSGlobalConstants::Instance()->GetTunnelOffsetY());
00016   _positionOffset=new G4ThreeVector(posX, posY, 0);
00017   _material=BDSMaterials::Instance()->GetMaterial(_acceleratorComponent->GetTunnelCavityMaterial());
00018   _nullRotationMatrix=new G4RotationMatrix(0,0,0);
00019 }
00020 
00021 BDSTunnelCavitySection::~BDSTunnelCavitySection(){
00022   delete _positionOffset;
00023   delete _logicalVolume;
00024   delete _solid;  
00025   delete _physi;
00026   delete _nullRotationMatrix;
00027 }
00028 
00029 //Setting functions
00030 void BDSTunnelCavitySection::rotation(G4RotationMatrix* var){ _rotation = var; }
00031 void BDSTunnelCavitySection::logicalVolume(G4LogicalVolume* var){ _logicalVolume = var; }
00032 void BDSTunnelCavitySection::solid(G4VSolid* var){ _solid = var; }  
00033 void BDSTunnelCavitySection::physi(G4VPhysicalVolume* var){ _physi = var; }
00034 
00035 //Getting functions
00036 G4ThreeVector* BDSTunnelCavitySection::positionOffset(){return _positionOffset;}
00037 G4RotationMatrix* BDSTunnelCavitySection::rotation(){return _rotation;}
00038 G4double BDSTunnelCavitySection::length(){return _length;}
00039 G4double BDSTunnelCavitySection::angle(){return _angle;}
00040 G4double BDSTunnelCavitySection::radius(){return _radius;}
00041 G4String BDSTunnelCavitySection::name(){return _name;}
00042 G4Material* BDSTunnelCavitySection::material(){return _material;}
00043 G4LogicalVolume* BDSTunnelCavitySection::logicalVolume() {return _logicalVolume;}
00044 G4VSolid* BDSTunnelCavitySection::solid() {return _solid;}
00045 BDSAcceleratorComponent* BDSTunnelCavitySection::acceleratorComponent(){ return _acceleratorComponent; }
00046 
00047 

Generated on 27 Aug 2013 for BDSIM by  doxygen 1.4.7