include/BDSLaserWire.hh

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 1
00009 
00010 #include"globals.hh"
00011 #include "BDSAcceleratorComponent.hh"
00012 #include "BDSMaterials.hh"
00013 #include "G4LogicalVolume.hh"
00014 
00015 #include "G4FieldManager.hh"
00016 #include "G4ChordFinder.hh"
00017 #include "G4Mag_UsualEqRhs.hh"
00018 #include "G4UserLimits.hh"
00019 #include "G4VisAttributes.hh"
00020 #include "BDSLaserCompton.hh"
00021 
00022 class BDSLaserWire :public BDSAcceleratorComponent
00023 {
00024 public:
00025   BDSLaserWire(G4String aName,G4double aLength,
00026                G4double aWavelength, G4ThreeVector aDirection);
00027   ~BDSLaserWire();
00028 
00029   inline void SetLaserDirection(G4ThreeVector aDirection);
00030   inline G4ThreeVector GetLaserDirection();
00031 
00032   inline void SetLaserWavelength(G4double aWavelength);
00033   inline G4double GetLaserWavelength();
00034 
00035 protected:
00036 
00037 private:
00038   void LaserWireLogicalVolume();
00039   G4VisAttributes* SetVisAttributes();
00040   G4VisAttributes* itsVisAttributes;
00041 
00042   BDSLaserCompton* itsLaserCompton; // not used atm, JS
00043   G4ThreeVector itsLaserDirection;
00044   G4double itsLaserWavelength;
00045 };
00046 
00047 inline void BDSLaserWire::SetLaserDirection(G4ThreeVector aDirection)
00048 {itsLaserDirection=aDirection;}
00049 
00050 inline G4ThreeVector BDSLaserWire::GetLaserDirection()
00051 {return itsLaserDirection;}
00052 
00053 inline void BDSLaserWire::SetLaserWavelength(G4double aWavelength)
00054 {itsLaserWavelength=aWavelength;}
00055 
00056 inline G4double BDSLaserWire::GetLaserWavelength()
00057 {return itsLaserWavelength;}
00058 
00059 #endif

Generated on 27 Aug 2013 for BDSIM by  doxygen 1.4.7