CMS 3D CMS Logo

GaussEvtVtxGenerator.h
Go to the documentation of this file.
1 #ifndef IOMC_GaussEvtVtxGenerator_H
2 #define IOMC_GaussEvtVtxGenerator_H
3 
15 
16 namespace CLHEP {
17  class HepRandomEngine;
18 }
19 
21 public:
27  ~GaussEvtVtxGenerator() override = default;
28 
29  void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override;
30 
32  //virtual CLHEP::Hep3Vector* newVertex();
33  HepMC::FourVector newVertex(CLHEP::HepRandomEngine*) const override;
34 
35  TMatrixD const* GetInvLorentzBoost() const override { return nullptr; }
36 
38  void sigmaX(double s = 1.0);
40  void sigmaY(double s = 1.0);
42  void sigmaZ(double s = 1.0);
43 
45  void meanX(double m = 0) { fMeanX = m; }
47  void meanY(double m = 0) { fMeanY = m; }
49  void meanZ(double m = 0) { fMeanZ = m; }
50 
51 private:
52  bool readDB_;
53 
55  double fMeanX, fMeanY, fMeanZ;
56  double fTimeOffset;
57 
58  void update(const edm::EventSetup& iEventSetup);
61 };
62 
63 #endif
void sigmaY(double s=1.0)
set resolution in Y in cm
edm::ESGetToken< SimBeamSpotObjects, SimBeamSpotObjectsRcd > beamToken_
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup 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 sigmaX(double s=1.0)
set resolution in X in cm
GaussEvtVtxGenerator & operator=(const GaussEvtVtxGenerator &rhs)=delete
void update(const edm::EventSetup &iEventSetup)
edm::ESWatcher< SimBeamSpotObjectsRcd > parameterWatcher_
GaussEvtVtxGenerator(const edm::ParameterSet &p)
HepMC::FourVector newVertex(CLHEP::HepRandomEngine *) const override
return a new event vertex
void meanY(double m=0)
set mean in Y in cm
TMatrixD const * GetInvLorentzBoost() const override
void sigmaZ(double s=1.0)
set resolution in Z in cm
~GaussEvtVtxGenerator() override=default