CMS 3D CMS Logo

GaussEvtVtxGenerator.h
Go to the documentation of this file.
1 #ifndef IOMC_GaussEvtVtxGenerator_H
2 #define IOMC_GaussEvtVtxGenerator_H
3 
16 
17 namespace CLHEP {
18  class HepRandomEngine;
19 }
20 
22 public:
28  ~GaussEvtVtxGenerator() override = default;
29 
30  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
31 
32  void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override;
33 
35  //virtual CLHEP::Hep3Vector* newVertex();
36  HepMC::FourVector newVertex(CLHEP::HepRandomEngine*) const override;
37 
38  TMatrixD const* GetInvLorentzBoost() const override { return nullptr; }
39 
41  void sigmaX(double s = 1.0);
43  void sigmaY(double s = 1.0);
45  void sigmaZ(double s = 1.0);
46 
48  void meanX(double m = 0) { fMeanX = m; }
50  void meanY(double m = 0) { fMeanY = m; }
52  void meanZ(double m = 0) { fMeanZ = m; }
53 
54 private:
55  bool readDB_;
56 
58  double fMeanX, fMeanY, fMeanZ;
59  double fTimeOffset;
60 
61  void update(const edm::EventSetup& iEventSetup);
64 };
65 
66 #endif
void sigmaY(double s=1.0)
set resolution in Y in cm
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
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