00001 /* BDSIM code. Version 1.0 00002 Author: Grahame A. Blair, Royal Holloway, Univ. of London. 00003 Last modified 24.7.2002 00004 Copyright (c) 2002 by G.A.Blair. ALL RIGHTS RESERVED. 00005 */ 00006 00007 #ifndef BDSLASERWIRE_H 00008 #define BDSLASERWIRE_H 00009 00010 #include "globals.hh" // geant4 types / globals 00011 #include "BDSAcceleratorComponent.hh" 00012 #include "BDSTiltOffset.hh" 00013 00014 #include "BDSLaserCompton.hh" 00015 00016 class BDSLaserWire :public BDSAcceleratorComponent 00017 { 00018 public: 00019 BDSLaserWire(G4String aName, 00020 G4double aLength, 00021 G4double aWavelength, 00022 G4ThreeVector aDirection, 00023 BDSTiltOffset tiltOffset = BDSTiltOffset()); 00024 ~BDSLaserWire(); 00025 00026 inline void SetLaserDirection(G4ThreeVector aDirection); 00027 inline G4ThreeVector GetLaserDirection(); 00028 00029 inline void SetLaserWavelength(G4double aWavelength); 00030 inline G4double GetLaserWavelength(); 00031 00032 private: 00033 virtual void BuildContainerLogicalVolume(); 00034 00035 BDSLaserCompton* itsLaserCompton; // not used atm, JS 00036 G4ThreeVector itsLaserDirection; 00037 G4double itsLaserWavelength; 00038 }; 00039 00040 inline void BDSLaserWire::SetLaserDirection(G4ThreeVector aDirection) 00041 {itsLaserDirection=aDirection;} 00042 00043 inline G4ThreeVector BDSLaserWire::GetLaserDirection() 00044 {return itsLaserDirection;} 00045 00046 inline void BDSLaserWire::SetLaserWavelength(G4double aWavelength) 00047 {itsLaserWavelength=aWavelength;} 00048 00049 inline G4double BDSLaserWire::GetLaserWavelength() 00050 {return itsLaserWavelength;} 00051 00052 #endif