BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Static Protected Attributes
BDSLaser Class Reference

Class to provide laser intensity at any point. More...

#include <BDSLaser.hh>

Collaboration diagram for BDSLaser:
Collaboration graph

Public Member Functions

 BDSLaser (G4double wavelengthIn, G4double m2In, G4double pulseDurationIn, G4double pulseEnergyIn, G4double sigma0In, G4double laserArrivalTimeIn, G4double T0In, const G4ThreeVector &polarizationIn, G4bool ignoreRayleighRangeIn=false)
 
 BDSLaser (G4double wavelengthIn)
 
G4double W (G4double z) const
 
G4double Sigma (G4double z) const
 
G4double Intensity (G4double x, double y, double z) const
 
G4double Intensity (const G4ThreeVector &xyz) const
 
G4double Radius () const
 
G4double TemporalProfileGaussian (G4double particleGlobalTime, G4double particleZCoord) const
 
G4double PhotonEnergy (G4double particleGamma, G4double overlapAngle, G4double particleBeta) const
 
G4double HyperbolicAngle () const
 
G4String GetLaserColour () const
 
G4double Wavelength () const
 Accessor.
 
G4double M2 () const
 Accessor.
 
G4double PulseDuration () const
 Accessor.
 
G4double PulseEnergy () const
 Accessor.
 
G4double Sigma0 () const
 Accessor.
 
G4double RayleighRange () const
 Accessor.
 
G4double W0 () const
 Accessor.
 
G4double LaserArrivalTime () const
 Accessor.
 
G4ThreeVector Polarization () const
 Accessor.
 
void SetT0 (G4double T0In)
 Accessor.
 
G4bool IgnoreRayleighRange () const
 Accessor.
 

Protected Attributes

G4double wavelength
 
G4double m2
 
G4double pulseDuration
 
G4double pulseEnergy
 
G4double sigma0
 
G4double laserArrivalTime
 
G4double T0
 
G4ThreeVector polarization
 
G4bool ignoreRayleighRange
 
G4double peakPower
 Calculated parameters.
 
G4double rayleighRange
 Calculated parameters.
 

Static Protected Attributes

static const std::vector< G4double > wavelengths
 
static const std::vector< G4String > colours
 

Detailed Description

Class to provide laser intensity at any point.

Author
Siobhan Alden

Definition at line 35 of file BDSLaser.hh.

Constructor & Destructor Documentation

◆ BDSLaser() [1/2]

BDSLaser::BDSLaser ( G4double  wavelengthIn,
G4double  m2In,
G4double  pulseDurationIn,
G4double  pulseEnergyIn,
G4double  sigma0In,
G4double  laserArrivalTimeIn,
G4double  T0In,
const G4ThreeVector &  polarizationIn,
G4bool  ignoreRayleighRangeIn = false 
)

Definition at line 53 of file BDSLaser.cc.

◆ BDSLaser() [2/2]

BDSLaser::BDSLaser ( G4double  wavelengthIn)
explicit

Definition at line 78 of file BDSLaser.cc.

◆ ~BDSLaser()

BDSLaser::~BDSLaser ( )

Definition at line 88 of file BDSLaser.cc.

Member Function Documentation

◆ GetLaserColour()

G4String BDSLaser::GetLaserColour ( ) const

Definition at line 135 of file BDSLaser.cc.

◆ HyperbolicAngle()

G4double BDSLaser::HyperbolicAngle ( ) const

Definition at line 123 of file BDSLaser.cc.

◆ IgnoreRayleighRange()

G4bool BDSLaser::IgnoreRayleighRange ( ) const
inline

Accessor.

Definition at line 74 of file BDSLaser.hh.

◆ Intensity()

G4double BDSLaser::Intensity ( const G4ThreeVector &  xyz) const

Definition at line 102 of file BDSLaser.cc.

◆ LaserArrivalTime()

G4double BDSLaser::LaserArrivalTime ( ) const
inline

Accessor.

Definition at line 71 of file BDSLaser.hh.

◆ M2()

G4double BDSLaser::M2 ( ) const
inline

Accessor.

Definition at line 65 of file BDSLaser.hh.

◆ PhotonEnergy()

G4double BDSLaser::PhotonEnergy ( G4double  particleGamma,
G4double  overlapAngle,
G4double  particleBeta 
) const

Definition at line 115 of file BDSLaser.cc.

◆ Polarization()

G4ThreeVector BDSLaser::Polarization ( ) const
inline

Accessor.

Definition at line 72 of file BDSLaser.hh.

◆ PulseDuration()

G4double BDSLaser::PulseDuration ( ) const
inline

Accessor.

Definition at line 66 of file BDSLaser.hh.

◆ PulseEnergy()

G4double BDSLaser::PulseEnergy ( ) const
inline

Accessor.

Definition at line 67 of file BDSLaser.hh.

◆ Radius()

G4double BDSLaser::Radius ( ) const

Definition at line 110 of file BDSLaser.cc.

◆ RayleighRange()

G4double BDSLaser::RayleighRange ( ) const
inline

Accessor.

Definition at line 69 of file BDSLaser.hh.

References rayleighRange.

◆ SetT0()

void BDSLaser::SetT0 ( G4double  T0In)
inline

Accessor.

Definition at line 73 of file BDSLaser.hh.

◆ Sigma()

G4double BDSLaser::Sigma ( G4double  z) const
inline

Definition at line 52 of file BDSLaser.hh.

◆ Sigma0()

G4double BDSLaser::Sigma0 ( ) const
inline

Accessor.

Definition at line 68 of file BDSLaser.hh.

◆ TemporalProfileGaussian()

G4double BDSLaser::TemporalProfileGaussian ( G4double  particleGlobalTime,
G4double  particleZCoord 
) const

Definition at line 128 of file BDSLaser.cc.

◆ W()

G4double BDSLaser::W ( G4double  z) const

Definition at line 91 of file BDSLaser.cc.

◆ W0()

G4double BDSLaser::W0 ( ) const
inline

Accessor.

Definition at line 70 of file BDSLaser.hh.

◆ Wavelength()

G4double BDSLaser::Wavelength ( ) const
inline

Accessor.

Definition at line 64 of file BDSLaser.hh.

Field Documentation

◆ colours

const std::vector< G4String > BDSLaser::colours
staticprotected
Initial value:
= {"magenta",
"decapole",
"blue",
"muonspoiler",
"green",
"yellow",
"solenoid",
"red",
"quadrupole"}

Definition at line 43 of file BDSLaser.hh.

◆ ignoreRayleighRange

G4bool BDSLaser::ignoreRayleighRange
protected

Definition at line 88 of file BDSLaser.hh.

◆ laserArrivalTime

G4double BDSLaser::laserArrivalTime
protected

Definition at line 85 of file BDSLaser.hh.

◆ m2

G4double BDSLaser::m2
protected

Definition at line 81 of file BDSLaser.hh.

◆ peakPower

G4double BDSLaser::peakPower
protected

Calculated parameters.

Definition at line 94 of file BDSLaser.hh.

◆ polarization

G4ThreeVector BDSLaser::polarization
protected

Definition at line 87 of file BDSLaser.hh.

◆ pulseDuration

G4double BDSLaser::pulseDuration
protected

Definition at line 82 of file BDSLaser.hh.

◆ pulseEnergy

G4double BDSLaser::pulseEnergy
protected

Definition at line 83 of file BDSLaser.hh.

◆ rayleighRange

G4double BDSLaser::rayleighRange
protected

Calculated parameters.

Definition at line 95 of file BDSLaser.hh.

Referenced by RayleighRange().

◆ sigma0

G4double BDSLaser::sigma0
protected

Definition at line 84 of file BDSLaser.hh.

◆ T0

G4double BDSLaser::T0
protected

Definition at line 86 of file BDSLaser.hh.

◆ wavelength

G4double BDSLaser::wavelength
protected

Definition at line 80 of file BDSLaser.hh.

◆ wavelengths

const std::vector< G4double > BDSLaser::wavelengths
staticprotected
Initial value:
= {340.0*CLHEP::nanometer,
425.0*CLHEP::nanometer,
445.0*CLHEP::nanometer,
520.0*CLHEP::nanometer,
565.0*CLHEP::nanometer,
590.0*CLHEP::nanometer,
625.0*CLHEP::nanometer,
740.0*CLHEP::nanometer}

Definition at line 34 of file BDSLaser.hh.


The documentation for this class was generated from the following files: