00001 // 00002 // BDSIM, (C) 2001-2006 00003 // 00004 // version 0.3 00005 // 00006 // 00007 // 00008 // 00009 // 00010 // Generic accelerator component class 00011 // 00012 // 00013 // History 00014 // 00015 // 24 Nov 2006 by Agapov, v.0.3 00016 // x x 2002 by Blair 00017 // 00018 // 00019 00020 00021 00022 00023 #include "BDSAcceleratorComponent.hh" 00024 00025 00026 void BDSAcceleratorComponent::PrepareField(G4VPhysicalVolume *referenceVolume) 00027 {//do nothing by default 00028 return; 00029 } 00030 00031 void BDSAcceleratorComponent::SynchRescale(G4double factor) 00032 { 00033 return; 00034 } 00035 00036 void BDSAcceleratorComponent::AlignComponent(G4ThreeVector& TargetPos, 00037 G4RotationMatrix *TargetRot, 00038 G4RotationMatrix& globalRotation, 00039 G4ThreeVector& rtot, 00040 G4ThreeVector& rlast, 00041 G4ThreeVector& localX, 00042 G4ThreeVector& localY, 00043 G4ThreeVector& localZ) 00044 {//do nothing by default, except set rotation and position for BDSOutline 00045 itsRotation=TargetRot; 00046 itsPosition=TargetPos; 00047 return; 00048 } 00049 00050 BDSAcceleratorComponent::~BDSAcceleratorComponent () 00051 { 00052 if(itsOuterLogicalVolume)delete itsOuterLogicalVolume; 00053 // if(itsBeamPipe)delete itsBeamPipe; 00054 if(itsBDSEnergyCounter)delete itsBDSEnergyCounter; 00055 if(itsOuterUserLimits)delete itsOuterUserLimits; 00056 if(itsOuterLogicalVolume)delete itsOuterLogicalVolume; 00057 if(itsMarkerLogicalVolume)delete itsMarkerLogicalVolume; 00058 if(itsInnerBeampipeUserLimits)delete itsInnerBeampipeUserLimits; 00059 00060 } 00061