Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

interaction.cxx

Go to the documentation of this file.
00001 
00013 #include "interaction.h"
00014 #include <iostream>
00015 
00016 ClassImp(interaction)
00017 
00018 using std::endl;
00019 using std::cout;
00020 
00021 //____________________________________________________________________________
00022 ostream & operator << (ostream & stream, const interaction & conf)
00023 {
00024   conf.print(stream);
00025   return stream;
00026 }
00027 //____________________________________________________________________________
00028 interaction::interaction() :
00029 _name("default")
00030 {
00031 
00032 }
00033 //____________________________________________________________________________
00034 interaction::interaction(const char * name) :
00035 _name(name)
00036 {
00037 
00038 }
00039 //____________________________________________________________________________
00040 interaction::interaction(const interaction * inter) 
00041 {
00042   _name       = inter->_name;
00043   _flavor     = inter->_flavor;
00044   _nucleus    = inter->_nucleus;
00045   _ccnc       = inter->_ccnc;
00046   _init_state = inter->_init_state;
00047 }
00048 //____________________________________________________________________________
00049 interaction::interaction(flavor_t f, nucleus_t n, ccnc_t c, init_state_t in) :
00050 _flavor(f),_nucleus(n),_ccnc(c),_init_state(in)
00051 {
00052 
00053 }
00054 //____________________________________________________________________________
00055 interaction::~interaction()
00056 {
00057 
00058 }
00059 //____________________________________________________________________________
00060 int interaction::getProcess(void) const
00061 {
00062   int icode = 0;
00063   int pa    = 0;
00064   int im    = _init_state;
00065   int it    = _flavor;
00066   int cn    = _ccnc;
00067 
00068   makestate_(&pa, &pa, &pa, &pa, &pa, &it, &im, &cn, &icode);
00069 
00070   //writestate_(&icode);  
00071 
00072   return icode;
00073 }
00074 //____________________________________________________________________________
00075 int interaction::getProcess(final_state * final) const
00076 {
00077   int proton =  final->getProton();
00078   int neutron = final->getNeutron();
00079   int piplus =  final->getPiplus();
00080   int piminus = final->getPiminus();
00081   int pizero =  final->getPizero();
00082   
00083   int icode = 0;
00084   int im    = _init_state;
00085   int it    = _flavor;
00086   int cn    = _ccnc;
00087 
00088   makestate_(&piplus, &piminus, &pizero, &proton, &neutron,
00089              &it, &im, &cn, &icode);
00090 
00091   cout << "In interaction, process (w/final)= " << icode << endl;
00092 
00093   return icode;
00094 }
00095 //____________________________________________________________________________
00096 void interaction::print(ostream & stream) const
00097 {
00098   stream << "Interaction Name:........." << _name  << endl;
00099   stream << "Flavor:..................." << flavor::as_string(_flavor) << endl;
00100   stream << "Nucleus:.................." << nucleus::as_string(_nucleus) << endl;
00101   stream << "CCNC:....................." << ccnc::as_string(_ccnc) << endl;
00102   stream << "Init_State:..............." << init_state::as_string(_init_state) << endl;  
00103 }
00104 //____________________________________________________________________________
00105         
00106 

Generated on Mon Feb 15 11:06:48 2010 for loon by  doxygen 1.3.9.1