/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/GeneratorModule/GeneratorModule-00-01-05/src/GeneratorName.cxx

Go to the documentation of this file.
00001 #include "GeneratorModule/GeneratorName.h"
00002 #include <iostream>
00003 
00004 GeneratorName
00005 generator_name (const int& index)
00006 {
00007   switch (index) {
00008   case 1000000  : return PYTHIA;
00009   case 2000000  : return HERWIG;
00010   case 3000000  : return ISAJET;
00011   case 4000000  : return SINGLE;
00012   case 5000000  : return HIJING;
00013   case 6000000  : return PHOJET;
00014   case 100000   : return COMPHEP;
00015   case 200000   : return USER;
00016   case 300000   : return ACERMC;
00017   case 400000   : return ALPGEN;
00018   case 10000    : return TAUOLA;
00019   case 20000    : return PHOTOS;
00020   case 30000    : return TAUOLA_PHOTOS;
00021   }
00022   return UNKNOWN;
00023 }
00024 
00025 GeneratorName
00026 first_generator (int& index)
00027 {
00028   int gen1 = 1000000*(index/1000000);
00029   return generator_name(gen1);
00030 }
00031 
00032 GeneratorName
00033 second_generator (int& index)
00034 {
00035   int gen1 = 1000000*(index/1000000);
00036   int gen2 = index - gen1;
00037   gen2 = 100000*(gen2/100000);
00038   return generator_name(gen2);
00039 }
00040 
00041 GeneratorName
00042 third_generator (int& index)
00043 {
00044   int gen1 = 1000000*(index/1000000);
00045   int gen2 = index - gen1;
00046   gen2 = 100000*(gen2/100000);
00047   int gen3 = index - gen1 - gen2;
00048   gen3 = 10000*(gen3/10000);
00049   return generator_name(gen3);
00050 }
00051 
00052 int
00053 generator_process (int& index)
00054 { return index%10000; }
00055 
00056 void
00057 GeneratorName_print(int& id)
00058 {
00059   std::cout << first_generator(id) << " "
00060             << second_generator(id) << " "
00061             << third_generator(id) << " + "
00062             << generator_process(id);
00063 }
00064 
00065 
00066 std::string
00067 generator_string (const int& index)
00068 {
00069   switch (index) {
00070   case 1000000  : return "PYTHIA";
00071   case 2000000  : return "HERWIG";
00072   case 3000000  : return "ISAJET";
00073   case 4000000  : return "SINGLE";
00074   case 5000000  : return "HIJING";
00075   case 6000000  : return "PHOJET";
00076   case 100000   : return "COMPHEP";
00077   case 200000   : return "USER";
00078   case 300000   : return "ACERMC";
00079   case 400000   : return "ALPGEN";
00080   case 10000    : return "TAUOLA";
00081   case 20000    : return "PHOTOS";
00082   case 30000    : return "TAUOLA_PHOTOS";
00083   }
00084   return " ";
00085 }
00086 
00087 std::ostream& operator<<(std::ostream& lhs, GeneratorName rhs) {
00088   lhs << generator_string(rhs);
00089   return lhs;
00090 }

Generated on Tue Nov 29 23:12:39 2016 for BOSS_7.0.2 by  doxygen 1.4.7