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 {
21 public:
23  virtual ~BeamProfileVtxGenerator();
24 
26  //virtual CLHEP::Hep3Vector * newVertex();
27  virtual HepMC::FourVector* newVertex(CLHEP::HepRandomEngine*) ;
28 
29  virtual TMatrixD* GetInvLorentzBoost() {
30  return 0;
31  }
32 
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:
59  BeamProfileVtxGenerator& operator = (const BeamProfileVtxGenerator& rhs);
60 private:
61  double fSigmaX, fSigmaY;
62  double fMeanX, fMeanY, fMeanZ;
63  double fEta, fPhi, fTheta;
64 
65  double fPsi;
66 
67  bool fType, ffile;
68  int nBinx, nBiny;
69  std::vector<double> fdistn;
70  double fTimeOffset;
71 };
72 
73 #endif
void meanY(double m=0)
set mean in Y in cm
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
virtual TMatrixD * GetInvLorentzBoost()