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