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  ~GaussEvtVtxGenerator() override;
21 
23  //virtual CLHEP::Hep3Vector* newVertex();
24  HepMC::FourVector newVertex(CLHEP::HepRandomEngine*) const override;
25 
26  TMatrixD const* GetInvLorentzBoost() const override {
27  return nullptr;
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:
47  GaussEvtVtxGenerator(const GaussEvtVtxGenerator &p) = delete;
49  GaussEvtVtxGenerator& operator = (const GaussEvtVtxGenerator & rhs ) = delete;
50 private:
51  double fSigmaX, fSigmaY, fSigmaZ;
52  double fMeanX, fMeanY, fMeanZ;
53  double fTimeOffset;
54 };
55 
56 #endif
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
TMatrixD const * GetInvLorentzBoost() const override