CMS 3D CMS Logo

BeamProfileVtxGenerator.h
Go to the documentation of this file.
1 #ifndef IOMC_BeamProfileVtxGenerator_H
2 #define IOMC_BeamProfileVtxGenerator_H
3 
13 #include <vector>
14 
15 namespace CLHEP {
16  class HepRandomEngine;
17 }
18 
20 public:
22  ~BeamProfileVtxGenerator() override;
23 
25  //virtual CLHEP::Hep3Vector * newVertex();
26  HepMC::FourVector newVertex(CLHEP::HepRandomEngine*) const override;
27 
28  TMatrixD const* GetInvLorentzBoost() const override { return nullptr; }
29 
31  void sigmaX(double s = 1.0);
33  void sigmaY(double s = 1.0);
34 
36  void meanX(double m = 0) { fMeanX = m; }
38  void meanY(double m = 0) { fMeanY = m; }
40  void beamPos(double m = 0) { fMeanZ = m; }
41 
43  void eta(double m = 0);
45  void phi(double m = 0) { fPhi = m; }
47  void psi(double m = 999) { fPsi = m; }
49  void setType(bool m = true);
50 
51 private:
55  BeamProfileVtxGenerator& operator=(const BeamProfileVtxGenerator& rhs) = delete;
56 
57 private:
58  double fSigmaX, fSigmaY;
59  double fMeanX, fMeanY, fMeanZ;
60  double fEta, fPhi, fTheta;
61 
62  double fPsi;
63 
64  bool fType, ffile;
65  int nBinx, nBiny;
66  std::vector<double> fdistn;
67  double fTimeOffset;
68 };
69 
70 #endif
void meanY(double m=0)
set mean in Y in cm
TMatrixD const * GetInvLorentzBoost() const override
void meanX(double m=0)
set mean in X in cm
void psi(double m=999)
set psi in radian
std::vector< double > fdistn
void beamPos(double m=0)
set mean in Z in cm
void phi(double m=0)
set phi in radian