CbmRoot
CbmBeamProfile Class Reference

#include <CbmBeamProfile.h>

Public Member Functions

 CbmBeamProfile ()
 Default constructor
More...
 
virtual ~CbmBeamProfile ()
 Destructor
More...
 
Bool_t CheckWithTarget (const CbmTarget &target) const
 Check consistency with a target. More...
 
TVector3 ExtrapolateToPlane (const TVector3 &point, const TVector3 &norm) const
 Extrapolate the average beam to a plane. More...
 
std::unique_ptr< CbmBeamGenerateBeam ()
 Generate a beam trajectory. More...
 
void SetAngle (Double_t x0, Double_t y0, Double_t sigmaX=-1., Double_t sigmaY=-1.)
 Set the parameters for the beam angle distribution. More...
 
void SetPosition (Double_t x0, Double_t y0, Double_t sigmaX=-1., Double_t sigmaY=-1., Double_t zF=0.)
 Set the parameters for the beam position distribution. More...
 
std::string ToString () const
 Info to string. More...
 

Private Attributes

Double_t fFocalZ
 z coordinate of focal plane [cm] More...
 
Double_t fMeanPosX
 Mean position in x [cm]. More...
 
Double_t fMeanPosY
 Mean position in y [cm]. More...
 
Double_t fSigmaPosX
 RMS of position in x [cm]. More...
 
Double_t fSigmaPosY
 RMS of position in y [cm]. More...
 
Double_t fMeanThetaX
 Mean angle in x-z plane [rad]. More...
 
Double_t fMeanThetaY
 Mean angle in y-z plane [rad]. More...
 
Double_t fSigmaThetaX
 RMS of angle in x-z plane [rad]. More...
 
Double_t fSigmaThetaY
 RMS of angle in y-z plane [rad]. More...
 

Detailed Description

Author
Volker Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Since
1 August 2019
Date
1 August 2019

Class defining beam properties (position, width, angle, emittance) in CBM. All parameters are defined w.r.t. the global coordinate system in the focal plane of the beam, which is by default at z = 0.

The beam profile is assumed to be Gaussian in x and y. The distribution of beam angles is also assumed to be Gaussian. Negative widths mean fixed position and / or angle.

Definition at line 31 of file CbmBeamProfile.h.

Constructor & Destructor Documentation

◆ CbmBeamProfile()

CbmBeamProfile::CbmBeamProfile ( )

Default constructor

Definition at line 13 of file CbmBeamProfile.cxx.

◆ ~CbmBeamProfile()

virtual CbmBeamProfile::~CbmBeamProfile ( )
inlinevirtual

Destructor

Definition at line 39 of file CbmBeamProfile.h.

Member Function Documentation

◆ CheckWithTarget()

Bool_t CbmBeamProfile::CheckWithTarget ( const CbmTarget target) const

Check consistency with a target.

Parameters
targetPointer to target class
Returns
true if average beam hits the target; else false.

Definition at line 27 of file CbmBeamProfile.cxx.

References ExtrapolateToPlane(), CbmTarget::GetDiameter(), CbmTarget::GetNormal(), CbmTarget::GetSurfaceCentreDown(), and CbmTarget::GetSurfaceCentreUp().

Referenced by CbmTransport::InitEventGenerator().

◆ ExtrapolateToPlane()

TVector3 CbmBeamProfile::ExtrapolateToPlane ( const TVector3 &  point,
const TVector3 &  norm 
) const

Extrapolate the average beam to a plane.

Parameters
pointCoordinates of a point in the plane
normA vector perpendicular to the plane
Returns
Extrapolation of average beam

The method returns the intersection point of the average beam with a plane, specified by the point and a vector perpendicular to the plane. The latter need not be normalised.

Definition at line 67 of file CbmBeamProfile.cxx.

References CbmBeam::ExtrapolateToPlane(), fFocalZ, fMeanPosX, fMeanPosY, fMeanThetaX, and fMeanThetaY.

Referenced by CheckWithTarget().

◆ GenerateBeam()

std::unique_ptr< CbmBeam > CbmBeamProfile::GenerateBeam ( )

Generate a beam trajectory.

          The beam parameters x, y, tx and ty in the focal plane are
          sampled from the specified distributions.

Definition at line 80 of file CbmBeamProfile.cxx.

References fFocalZ, fMeanPosX, fMeanPosY, fMeanThetaX, fMeanThetaY, fSigmaPosX, fSigmaPosY, fSigmaThetaX, fSigmaThetaY, x, and y.

Referenced by CbmEventGenerator::MakeVertexAtZ(), CbmEventGenerator::MakeVertexInFocalPlane(), and CbmEventGenerator::MakeVertexInTarget().

◆ SetAngle()

void CbmBeamProfile::SetAngle ( Double_t  x0,
Double_t  y0,
Double_t  sigmaX = -1.,
Double_t  sigmaY = -1. 
)

Set the parameters for the beam angle distribution.

Parameters
x0Mean angle in x-z [rad]
y0Mean angle in y-z [rad]
sigmaXGauss RMS of angle distribution in x-z [rad]
sigmaYGauss RMS of angle distribution in y-z [rad]

A non-positive value for sigma means a fixed angle (no sampling).

Definition at line 107 of file CbmBeamProfile.cxx.

References fMeanThetaX, fMeanThetaY, fSigmaThetaX, and fSigmaThetaY.

Referenced by CbmEventGenerator::SetBeamAngle().

◆ SetPosition()

void CbmBeamProfile::SetPosition ( Double_t  x0,
Double_t  y0,
Double_t  sigmaX = -1.,
Double_t  sigmaY = -1.,
Double_t  zF = 0. 
)

Set the parameters for the beam position distribution.

Parameters
x0Mean x position [cm]
y0Mean y position [cm]
sigmaXGauss RMS of x position distribution [cm]
sigmaYGauss RMS of y position distribution [cm]
zFz position of focal plane [cm]

A non-positive value for sigma means a fixed position (no sampling).

Definition at line 120 of file CbmBeamProfile.cxx.

References fFocalZ, fMeanPosX, fMeanPosY, fSigmaPosX, and fSigmaPosY.

Referenced by CbmEventGenerator::SetBeamPosition().

◆ ToString()

std::string CbmBeamProfile::ToString ( ) const

Info to string.

Definition at line 135 of file CbmBeamProfile.cxx.

References fFocalZ, fMeanPosX, fMeanPosY, fMeanThetaX, fMeanThetaY, fSigmaPosX, fSigmaPosY, fSigmaThetaX, and fSigmaThetaY.

Referenced by CbmEventGenerator::Print().

Member Data Documentation

◆ fFocalZ

Double_t CbmBeamProfile::fFocalZ
private

z coordinate of focal plane [cm]

Definition at line 105 of file CbmBeamProfile.h.

Referenced by ExtrapolateToPlane(), GenerateBeam(), SetPosition(), and ToString().

◆ fMeanPosX

Double_t CbmBeamProfile::fMeanPosX
private

Mean position in x [cm].

Definition at line 106 of file CbmBeamProfile.h.

Referenced by ExtrapolateToPlane(), GenerateBeam(), SetPosition(), and ToString().

◆ fMeanPosY

Double_t CbmBeamProfile::fMeanPosY
private

Mean position in y [cm].

Definition at line 107 of file CbmBeamProfile.h.

Referenced by ExtrapolateToPlane(), GenerateBeam(), SetPosition(), and ToString().

◆ fMeanThetaX

Double_t CbmBeamProfile::fMeanThetaX
private

Mean angle in x-z plane [rad].

Definition at line 110 of file CbmBeamProfile.h.

Referenced by ExtrapolateToPlane(), GenerateBeam(), SetAngle(), and ToString().

◆ fMeanThetaY

Double_t CbmBeamProfile::fMeanThetaY
private

Mean angle in y-z plane [rad].

Definition at line 111 of file CbmBeamProfile.h.

Referenced by ExtrapolateToPlane(), GenerateBeam(), SetAngle(), and ToString().

◆ fSigmaPosX

Double_t CbmBeamProfile::fSigmaPosX
private

RMS of position in x [cm].

Definition at line 108 of file CbmBeamProfile.h.

Referenced by GenerateBeam(), SetPosition(), and ToString().

◆ fSigmaPosY

Double_t CbmBeamProfile::fSigmaPosY
private

RMS of position in y [cm].

Definition at line 109 of file CbmBeamProfile.h.

Referenced by GenerateBeam(), SetPosition(), and ToString().

◆ fSigmaThetaX

Double_t CbmBeamProfile::fSigmaThetaX
private

RMS of angle in x-z plane [rad].

Definition at line 112 of file CbmBeamProfile.h.

Referenced by GenerateBeam(), SetAngle(), and ToString().

◆ fSigmaThetaY

Double_t CbmBeamProfile::fSigmaThetaY
private

RMS of angle in y-z plane [rad].

Definition at line 113 of file CbmBeamProfile.h.

Referenced by GenerateBeam(), SetAngle(), and ToString().


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