00001 //-------------------------------------------------------------------------- 00002 // 00003 // Environment: 00004 // This software is part of the EvtGen package developed jointly 00005 // for the BaBar and CLEO collaborations. If you use all or part 00006 // of it, please give an appropriate acknowledgement. 00007 // 00008 // Copyright Information: See EvtGen/COPYRIGHT 00009 // Copyright (C) 1998 Caltech, UCSB 00010 // 00011 // Module: EvtGen/EvtTracks.hh 00012 // 00013 // Description: 00014 //Class to handle generic phase space decays not done 00015 //in other decay models. 00016 // 00017 // Modification history: 00018 // 00019 // DJL/RYD August 11, 1998 Module created 00020 // 00021 //------------------------------------------------------------------------ 00022 00023 #ifndef EVTTRACKGEN_HH 00024 #define EVTTRACKGEN_HH 00025 00026 #include "EvtGenBase/EvtDecayIncoherent.hh" 00027 #include <vector> 00028 #include <iostream> 00029 #include <fstream> 00030 00031 using namespace std; 00032 00033 class EvtParticle; 00034 00035 class EvtTrackGen:public EvtDecayIncoherent { 00036 00037 public: 00038 00039 EvtTrackGen() {} 00040 virtual ~EvtTrackGen(); 00041 00042 void getName(std::string& name); 00043 00044 EvtDecayBase* clone(); 00045 00046 void initProbMax(); 00047 00048 void init(); 00049 00050 void decay(EvtParticle *p); 00051 00052 private: 00053 std::string m_inputFileName; 00054 ifstream m_inputFile; 00055 int nParticles; 00056 int idParticles[100]; 00057 double pxParticle; 00058 double pyParticle; 00059 double pzParticle; 00060 double eParticle; 00061 std::vector<std::vector<EvtVector4R> >Evt; 00062 00063 }; 00064 00065 #endif 00066