CMS 3D CMS Logo

BeamProfileVtxGenerator.h

Go to the documentation of this file.
00001 #ifndef IOMC_BeamProfileVtxGenerator_H
00002 #define IOMC_BeamProfileVtxGenerator_H
00003 
00013 #include "IOMC/EventVertexGenerators/interface/BaseEvtVtxGenerator.h"
00014 #include <vector>
00015 
00016 namespace CLHEP
00017 {
00018    class HepRandom;
00019 }
00020 
00021 class BeamProfileVtxGenerator : public BaseEvtVtxGenerator
00022 {
00023 public:
00024   BeamProfileVtxGenerator(const edm::ParameterSet & p);
00025   virtual ~BeamProfileVtxGenerator();
00026 
00028   //virtual CLHEP::Hep3Vector * newVertex();
00029   virtual HepMC::FourVector* newVertex() ;
00030 
00031   virtual TMatrixD* GetInvLorentzBoost() {
00032           return 0;
00033   }
00034 
00035     
00037   void sigmaX(double s=1.0);
00039   void sigmaY(double s=1.0);
00040 
00042   void meanX(double m=0)   {fMeanX=m;}
00044   void meanY(double m=0)   {fMeanY=m;}
00046   void beamPos(double m=0) {fMeanZ=m;}
00047 
00049   void eta(double m=0);
00051   void phi(double m=0)     {fPhi=m;}
00053   void setType(bool m=true);
00054   
00055 private:
00057   BeamProfileVtxGenerator(const BeamProfileVtxGenerator &p);
00059   BeamProfileVtxGenerator& operator = (const BeamProfileVtxGenerator& rhs);
00060 private:
00061   double      fSigmaX, fSigmaY;
00062   double      fMeanX,  fMeanY, fMeanZ;
00063   double      fEta,    fPhi,   fTheta;
00064   bool        fType,   ffile;
00065   int         nBinx,   nBiny;
00066   std::vector<double> fdistn;
00067   CLHEP::HepRandom*   fRandom;
00068   double fTimeOffset;
00069 };
00070 
00071 #endif

Generated on Tue Jun 9 17:39:05 2009 for CMSSW by  doxygen 1.5.4