00001 #ifndef IOMC_FlatEvtVtxGenerator_H 00002 #define IOMC_FlatEvtVtxGenerator_H 00003 00011 #include "IOMC/EventVertexGenerators/interface/BaseEvtVtxGenerator.h" 00012 00013 namespace CLHEP { 00014 class RandFlat; 00015 } 00016 00017 class FlatEvtVtxGenerator : public BaseEvtVtxGenerator 00018 { 00019 public: 00020 FlatEvtVtxGenerator(const edm::ParameterSet & p); 00021 virtual ~FlatEvtVtxGenerator(); 00022 00024 //virtual CLHEP::Hep3Vector* newVertex(); 00025 virtual HepMC::FourVector* newVertex() ; 00026 00027 virtual TMatrixD* GetInvLorentzBoost() { 00028 return 0; 00029 } 00030 00031 00033 void minX(double m=0.0); 00035 void minY(double m=0.0); 00037 void minZ(double m=0.0); 00038 00040 void maxX(double m=0); 00042 void maxY(double m=0); 00044 void maxZ(double m=0); 00045 00046 private: 00048 FlatEvtVtxGenerator(const FlatEvtVtxGenerator &p); 00050 FlatEvtVtxGenerator& operator = (const FlatEvtVtxGenerator & rhs ); 00051 private: 00052 double fMinX, fMinY, fMinZ; 00053 double fMaxX, fMaxY, fMaxZ; 00054 CLHEP::RandFlat* fRandom ; 00055 double fTimeOffset; 00056 }; 00057 00058 #endif