CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/FastSimulation/Event/interface/BetaFuncPrimaryVertexGenerator.h

Go to the documentation of this file.
00001 #ifndef FastSimulation_Event_BetaFuncPrimaryVertexGenerator_H
00002 #define FastSimulation_Event_BetaFuncPrimaryVertexGenerator_H
00003 
00004 // Famos Headers
00005 #include "FastSimulation/Event/interface/PrimaryVertexGenerator.h"
00006 
00009 class RandomEngine;
00010 
00011 namespace edm { 
00012   class ParameterSet;
00013 }
00014 
00015 class BetaFuncPrimaryVertexGenerator : public PrimaryVertexGenerator {
00016 
00017 
00018 public:
00020   BetaFuncPrimaryVertexGenerator(const edm::ParameterSet& vtx,
00021                                  const RandomEngine* engine);
00022 
00024   ~BetaFuncPrimaryVertexGenerator() {;}
00025   
00027   virtual void generate();
00028 
00032   double BetaFunction(double z, double z0);
00033   
00034 private:
00035 
00036   TMatrixD* inverseLorentzBoost();
00037   
00038   double fX0, fY0, fZ0;
00039   double fSigmaZ;
00040   double alpha_, phi_;
00041   double fbetastar, femittance;
00042   
00043 };
00044 
00045 #endif // BetaFuncPrimaryVertexGenerator_H