CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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:
26  ~BeamProfileVtxGenerator() override;
27 
29  //virtual CLHEP::Hep3Vector * newVertex();
30  HepMC::FourVector newVertex(CLHEP::HepRandomEngine*) const override;
31 
32  TMatrixD const* GetInvLorentzBoost() const override { return nullptr; }
33 
35  void sigmaX(double s = 1.0);
37  void sigmaY(double s = 1.0);
38 
40  void meanX(double m = 0) { fMeanX = m; }
42  void meanY(double m = 0) { fMeanY = m; }
44  void beamPos(double m = 0) { fMeanZ = m; }
45 
47  void eta(double m = 0);
49  void phi(double m = 0) { fPhi = m; }
51  void psi(double m = 999) { fPsi = m; }
53  void setType(bool m = true);
54 
55 private:
56  double fSigmaX, fSigmaY;
57  double fMeanX, fMeanY, fMeanZ;
58  double fEta, fPhi, fTheta;
59 
60  double fPsi;
61 
62  bool fType, ffile;
63  int nBinx, nBiny;
64  std::vector<double> fdistn;
65  double fTimeOffset;
66 };
67 
68 #endif
void meanY(double m=0)
set mean in Y in cm
void setType(bool m=true)
set type
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 sigmaX(double s=1.0)
set resolution in X in cm
TMatrixD const * GetInvLorentzBoost() const override
void beamPos(double m=0)
set mean in Z in cm
void phi(double m=0)
set phi in radian
void eta(double m=0)
set eta
BeamProfileVtxGenerator & operator=(const BeamProfileVtxGenerator &rhs)=delete
HepMC::FourVector newVertex(CLHEP::HepRandomEngine *) const override
return a new event vertex
BeamProfileVtxGenerator(const edm::ParameterSet &p)
void sigmaY(double s=1.0)
set resolution in Y in cm