BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
GeneratorName.h File Reference
#include <iosfwd>
#include <string>

Go to the source code of this file.

Enumerations

enum  GeneratorName {
  PYTHIA = 1000000 , HERWIG = 2000000 , ISAJET = 3000000 , SINGLE = 4000000 ,
  HIJING = 5000000 , PHOJET = 6000000 , COMPHEP = 100000 , USER = 200000 ,
  ACERMC = 300000 , ALPGEN = 400000 , TAUOLA = 10000 , PHOTOS = 20000 ,
  TAUOLA_PHOTOS = 30000 , UNKNOWN = -999
}

Functions

GeneratorName generator_name (const int &index)
GeneratorName first_generator (int &index)
GeneratorName second_generator (int &index)
GeneratorName third_generator (int &index)
int generator_process (int &index)
void GeneratorName_print (int &id)
std::string generator_string (const int &index)
std::ostream & operator<< (std::ostream &lhs, GeneratorName rhs)

Enumeration Type Documentation

◆ GeneratorName

Enumerator
PYTHIA 
HERWIG 
ISAJET 
SINGLE 
HIJING 
PHOJET 
COMPHEP 
USER 
ACERMC 
ALPGEN 
TAUOLA 
PHOTOS 
TAUOLA_PHOTOS 
UNKNOWN 

Definition at line 7 of file GeneratorModule/include/GeneratorModule/GeneratorName.h.

Function Documentation

◆ first_generator()

GeneratorName first_generator ( int & index)

Definition at line 24 of file GeneratorName.cxx.

24 {
25 int gen1 = 1000000 * ( index / 1000000 );
26 return generator_name( gen1 );
27}
GeneratorName generator_name(const int &index)

◆ generator_name()

GeneratorName generator_name ( const int & index)

Definition at line 4 of file GeneratorName.cxx.

4 {
5 switch ( index )
6 {
7 case 1000000: return PYTHIA;
8 case 2000000: return HERWIG;
9 case 3000000: return ISAJET;
10 case 4000000: return SINGLE;
11 case 5000000: return HIJING;
12 case 6000000: return PHOJET;
13 case 100000: return COMPHEP;
14 case 200000: return USER;
15 case 300000: return ACERMC;
16 case 400000: return ALPGEN;
17 case 10000: return TAUOLA;
18 case 20000: return PHOTOS;
19 case 30000: return TAUOLA_PHOTOS;
20 }
21 return UNKNOWN;
22}

◆ generator_process()

int generator_process ( int & index)

Definition at line 45 of file GeneratorName.cxx.

45{ return index % 10000; }

◆ generator_string()

std::string generator_string ( const int & index)

Definition at line 52 of file GeneratorName.cxx.

52 {
53 switch ( index )
54 {
55 case 1000000: return "PYTHIA";
56 case 2000000: return "HERWIG";
57 case 3000000: return "ISAJET";
58 case 4000000: return "SINGLE";
59 case 5000000: return "HIJING";
60 case 6000000: return "PHOJET";
61 case 100000: return "COMPHEP";
62 case 200000: return "USER";
63 case 300000: return "ACERMC";
64 case 400000: return "ALPGEN";
65 case 10000: return "TAUOLA";
66 case 20000: return "PHOTOS";
67 case 30000: return "TAUOLA_PHOTOS";
68 }
69 return " ";
70}

◆ GeneratorName_print()

void GeneratorName_print ( int & id)

Definition at line 47 of file GeneratorName.cxx.

47 {
48 std::cout << first_generator( id ) << " " << second_generator( id ) << " "
49 << third_generator( id ) << " + " << generator_process( id );
50}
GeneratorName first_generator(int &index)
GeneratorName second_generator(int &index)
GeneratorName third_generator(int &index)
int generator_process(int &index)

◆ operator<<()

std::ostream & operator<< ( std::ostream & lhs,
GeneratorName rhs )

Definition at line 72 of file GeneratorName.cxx.

72 {
73 lhs << generator_string( rhs );
74 return lhs;
75}
std::string generator_string(const int &index)

◆ second_generator()

GeneratorName second_generator ( int & index)

Definition at line 29 of file GeneratorName.cxx.

29 {
30 int gen1 = 1000000 * ( index / 1000000 );
31 int gen2 = index - gen1;
32 gen2 = 100000 * ( gen2 / 100000 );
33 return generator_name( gen2 );
34}

◆ third_generator()

GeneratorName third_generator ( int & index)

Definition at line 36 of file GeneratorName.cxx.

36 {
37 int gen1 = 1000000 * ( index / 1000000 );
38 int gen2 = index - gen1;
39 gen2 = 100000 * ( gen2 / 100000 );
40 int gen3 = index - gen1 - gen2;
41 gen3 = 10000 * ( gen3 / 10000 );
42 return generator_name( gen3 );
43}