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 public:
19  ~GaussEvtVtxGenerator() override;
20 
22  //virtual CLHEP::Hep3Vector* newVertex();
23  HepMC::FourVector newVertex(CLHEP::HepRandomEngine*) const override;
24 
25  TMatrixD const* GetInvLorentzBoost() const override { return nullptr; }
26 
28  void sigmaX(double s = 1.0);
30  void sigmaY(double s = 1.0);
32  void sigmaZ(double s = 1.0);
33 
35  void meanX(double m = 0) { fMeanX = m; }
37  void meanY(double m = 0) { fMeanY = m; }
39  void meanZ(double m = 0) { fMeanZ = m; }
40 
41 private:
43  GaussEvtVtxGenerator(const GaussEvtVtxGenerator& p) = delete;
45  GaussEvtVtxGenerator& operator=(const GaussEvtVtxGenerator& rhs) = delete;
46 
47 private:
48  double fSigmaX, fSigmaY, fSigmaZ;
49  double fMeanX, fMeanY, fMeanZ;
50  double fTimeOffset;
51 };
52 
53 #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