CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
BeamProfileVtxGenerator.h
Go to the documentation of this file.
1 #ifndef IOMC_BeamProfileVtxGenerator_H
2 #define IOMC_BeamProfileVtxGenerator_H
3 
14 #include <vector>
15 
16 namespace CLHEP
17 {
18  class HepRandom;
19 }
20 
22 {
23 public:
25  virtual ~BeamProfileVtxGenerator();
26 
28  //virtual CLHEP::Hep3Vector * newVertex();
29  virtual HepMC::FourVector* newVertex() ;
30 
31  virtual TMatrixD* GetInvLorentzBoost() {
32  return 0;
33  }
34 
35 
37  void sigmaX(double s=1.0);
39  void sigmaY(double s=1.0);
40 
42  void meanX(double m=0) {fMeanX=m;}
44  void meanY(double m=0) {fMeanY=m;}
46  void beamPos(double m=0) {fMeanZ=m;}
47 
49  void eta(double m=0);
51  void phi(double m=0) {fPhi=m;}
53  void psi(double m=999) {fPsi=m;}
55  void setType(bool m=true);
56 
57 private:
62 private:
63  double fSigmaX, fSigmaY;
64  double fMeanX, fMeanY, fMeanZ;
65  double fEta, fPhi, fTheta;
66 
67  double fPsi;
68 
69  bool fType, ffile;
70  int nBinx, nBiny;
71  std::vector<double> fdistn;
72  CLHEP::HepRandom* fRandom;
73  double fTimeOffset;
74 };
75 
76 #endif
void meanY(double m=0)
set mean in Y in cm
virtual HepMC::FourVector * newVertex()
return a new event vertex
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
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(const edm::ParameterSet &p)
virtual TMatrixD * GetInvLorentzBoost()
void sigmaY(double s=1.0)
set resolution in Y in cm
BeamProfileVtxGenerator & operator=(const BeamProfileVtxGenerator &rhs)