CMS 3D CMS Logo

GaussEvtVtxGenerator.h
Go to the documentation of this file.
1 #ifndef IOMC_GaussEvtVtxGenerator_H
2 #define IOMC_GaussEvtVtxGenerator_H
3 
11 
12 namespace CLHEP {
13  class HepRandomEngine;
14 }
15 
17 {
18 public:
20  virtual ~GaussEvtVtxGenerator();
21 
23  //virtual CLHEP::Hep3Vector* newVertex();
24  virtual HepMC::FourVector newVertex(CLHEP::HepRandomEngine*) const override;
25 
26  virtual TMatrixD const* GetInvLorentzBoost() const override {
27  return 0;
28  }
29 
30 
32  void sigmaX(double s=1.0);
34  void sigmaY(double s=1.0);
36  void sigmaZ(double s=1.0);
37 
39  void meanX(double m=0) { fMeanX=m; }
41  void meanY(double m=0) { fMeanY=m; }
43  void meanZ(double m=0) { fMeanZ=m; }
44 
45 private:
49  GaussEvtVtxGenerator& operator = (const GaussEvtVtxGenerator & rhs );
50 private:
51  double fSigmaX, fSigmaY, fSigmaZ;
52  double fMeanX, fMeanY, fMeanZ;
53  double fTimeOffset;
54 };
55 
56 #endif
virtual TMatrixD const * GetInvLorentzBoost() const override
void meanZ(double m=0)
set mean in Z in cm
void meanX(double m=0)
set mean in X in cm
void meanY(double m=0)
set mean in Y in cm