Go to the documentation of this file.
22 , fSigmaThetaY(-1.) {}
32 Double_t dist1 = (sect1 - surf1).Mag();
34 LOG(ERROR) <<
"EventGen: Average beam does not hit first target surface!";
35 LOG(ERROR) <<
" Surface centre is (" << surf1.X() <<
", "
36 << surf1.Y() <<
", " << surf1.Z() <<
") cm";
37 LOG(ERROR) <<
" Intersection point is (" << sect1.X() <<
", "
38 << sect1.Y() <<
", " << sect1.Z() <<
") cm";
39 LOG(ERROR) <<
" Distance to target surface centre is " << dist1
40 <<
" cm, target radius is " << 0.5 * target.
GetDiameter()
48 Double_t dist2 = (sect2 - surf2).Mag();
50 LOG(ERROR) <<
"EventGen: Average beam does not hit second target surface!";
51 LOG(ERROR) <<
" Surface centre is (" << surf2.X() <<
", "
52 << surf2.Y() <<
", " << surf2.Z() <<
") cm";
53 LOG(ERROR) <<
" Intersection point is (" << sect2.X() <<
", "
54 << sect2.Y() <<
", " << sect2.Z() <<
") cm";
55 LOG(ERROR) <<
" Distance to target surface centre is " << dist2
56 <<
" cm, target radius is " << 0.5 * target.
GetDiameter()
68 const TVector3& norm)
const {
137 std::stringstream ss;
138 ss <<
"Beam profile:";
139 ss <<
"\n\t x position ";
144 ss <<
"\n\t y position ";
149 ss <<
"\n\t Focal plane: z = " <<
fFocalZ <<
" cm";
150 ss <<
"\n\t x-z angle ";
155 ss <<
"\n\t y-z angle ";
Double_t fMeanPosX
Mean position in x [cm].
TVector3 ExtrapolateToPlane(const TVector3 &point, const TVector3 &normal) const
Extrapolation of the beam to a plane.
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.
std::unique_ptr< CbmBeam > GenerateBeam()
Generate a beam trajectory.
Double_t fMeanThetaX
Mean angle in x-z plane [rad].
TVector3 GetSurfaceCentreDown() const
Downstream surface centre.
void SetAngle(Double_t x0, Double_t y0, Double_t sigmaX=-1., Double_t sigmaY=-1.)
Set the parameters for the beam angle distribution.
Double_t GetDiameter() const
Get target diameter.
Double_t fSigmaThetaY
RMS of angle in y-z plane [rad].
std::string ToString() const
Info to string.
TVector3 ExtrapolateToPlane(const TVector3 &point, const TVector3 &norm) const
Extrapolate the average beam to a plane.
Double_t fSigmaThetaX
RMS of angle in x-z plane [rad].
Class for constructing the geometry of the CBM target.
Double_t fMeanThetaY
Mean angle in y-z plane [rad].
Double_t fSigmaPosX
RMS of position in x [cm].
Double_t fFocalZ
z coordinate of focal plane [cm]
Double_t fMeanPosY
Mean position in y [cm].
TVector3 GetSurfaceCentreUp() const
Upstream surface centre.
TVector3 GetNormal() const
Normal vector.
Bool_t CheckWithTarget(const CbmTarget &target) const
Check consistency with a target.
CbmBeamProfile()
Default constructor
Double_t fSigmaPosY
RMS of position in y [cm].