CbmRoot
Loading...
Searching...
No Matches
CbmBeamProfile.h
Go to the documentation of this file.
1/* Copyright (C) 2019 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Volker Friese [committer] */
4
10#ifndef CBMBEAMPROFILE_H
11#define CBMBEAMPROFILE_H 1
12
13
14#include "CbmBeam.h"
15#include "CbmTarget.h"
16
17#include "Rtypes.h"
18#include "TVector3.h"
19
20#include <memory>
21#include <string>
22
23
38
39public:
42
43
45 virtual ~CbmBeamProfile() {};
46
47
52 Bool_t CheckWithTarget(const CbmTarget& target) const;
53
54
64 TVector3 ExtrapolateToPlane(const TVector3& point, const TVector3& norm) const;
65
66
72 std::unique_ptr<CbmBeam> GenerateBeam();
73
74
83 void SetAngle(Double_t x0, Double_t y0, Double_t sigmaX = -1., Double_t sigmaY = -1.);
84
85
95 void SetPosition(Double_t x0, Double_t y0, Double_t sigmaX = -1., Double_t sigmaY = -1., Double_t zF = 0.);
96
97
99 std::string ToString() const;
100
101
102private:
103 Double_t fFocalZ;
104 Double_t fMeanPosX;
105 Double_t fMeanPosY;
106 Double_t fSigmaPosX;
107 Double_t fSigmaPosY;
108 Double_t fMeanThetaX;
109 Double_t fMeanThetaY;
110 Double_t fSigmaThetaX;
111 Double_t fSigmaThetaY;
112};
113
114#endif /* CBMBEAMPROFILE_H */
TVector3 ExtrapolateToPlane(const TVector3 &point, const TVector3 &norm) const
Extrapolate the average beam to a plane.
Bool_t CheckWithTarget(const CbmTarget &target) const
Check consistency with a target.
Double_t fSigmaThetaX
RMS of angle in x-z plane [rad].
Double_t fMeanPosX
Mean position in x [cm].
Double_t fMeanPosY
Mean position in y [cm].
Double_t fMeanThetaX
Mean angle in x-z plane [rad].
CbmBeamProfile()
Default constructor
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 fSigmaPosX
RMS of position in x [cm].
Double_t fSigmaPosY
RMS of position in y [cm].
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.
Double_t fSigmaThetaY
RMS of angle in y-z plane [rad].
virtual ~CbmBeamProfile()
Destructor
Double_t fFocalZ
z coordinate of focal plane [cm]
std::string ToString() const
Info to string.
std::unique_ptr< CbmBeam > GenerateBeam()
Generate a beam trajectory.
Double_t fMeanThetaY
Mean angle in y-z plane [rad].
Class for constructing the geometry of the CBM target.
Definition CbmTarget.h:37