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 
13 #include <vector>
14 
15 namespace CLHEP
16 {
17  class HepRandom;
18 }
19 
21 {
22 public:
24  virtual ~BeamProfileVtxGenerator();
25 
27  //virtual CLHEP::Hep3Vector * newVertex();
28  virtual HepMC::FourVector* newVertex() ;
29 
30  virtual TMatrixD* GetInvLorentzBoost() {
31  return 0;
32  }
33 
34 
36  void sigmaX(double s=1.0);
38  void sigmaY(double s=1.0);
39 
41  void meanX(double m=0) {fMeanX=m;}
43  void meanY(double m=0) {fMeanY=m;}
45  void beamPos(double m=0) {fMeanZ=m;}
46 
48  void eta(double m=0);
50  void phi(double m=0) {fPhi=m;}
52  void psi(double m=999) {fPsi=m;}
54  void setType(bool m=true);
55 
56 private:
61 private:
62  double fSigmaX, fSigmaY;
63  double fMeanX, fMeanY, fMeanZ;
64  double fEta, fPhi, fTheta;
65 
66  double fPsi;
67 
68  bool fType, ffile;
69  int nBinx, nBiny;
70  std::vector<double> fdistn;
71  CLHEP::HepRandom* fRandom;
72  double fTimeOffset;
73 };
74 
75 #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)