CDF II
CDF KITS
source navigation ]
diff markup ]
identifier search ]
freetext search ]
file search ]
 
Architecture: i386 ]
Version: 4.10.4 ] [ 4.10.5 ] [ 4.8.4 ] [ 4.8.4l3s ] [ 4.8.5 ] [ 4.9.0 ] [ 4.9.1 ] [ 4.9.1.hpt3 ] [ 4.9.1hpt3 ] [ 4.9.1top1 ] [ 5.0.0 ] [ 5.1.0 ] [ 5.1.0beamonly ] [ 5.1.1 ] [ 5.2.0 ] [ 5.3.0 ] [ 5.3.1 ] [ 5.3.1dsp ] [ 5.3.3 ] [ 5.3.3_nt ] [ 5.3.4 ] [ 6.1.1 ] [ 6.1.1b ] [ 6.1.2 ] [ 6.1.3 ] [ 6.1.4 ] [ 6.1.4int3 ] [ 6.1.4mc ] [ 6.1.4mc_a ] [ 6.1.6 ] [ development ]

001 //----------------------------------------------------------------------------
002 //
003 // Pythia.hh - interface to pythia ( singleton )
004 //
005 // created Nov 26  2001, Elena Gerchtein
006 //
007 
008 #ifndef PYTHIA_HH
009 #define PYTHIA_HH
010 
011 #include "pythia_i/Pydat1.hh"
012 #include "pythia_i/Pydat2.hh"
013 #include "pythia_i/Pydat3.hh"
014 #include "pythia_i/Pyint2.hh"
015 #include "pythia_i/Pyint4.hh"
016 #include "pythia_i/Pyjets.hh"
017 #include "pythia_i/Pysubs.hh"
018 #include "pythia_i/Pypars.hh"
019 #include "pythia_i/Pydatr.hh"
020 #include "pythia_i/Pymssm.hh"
021 #include "pythia_i/Pytcsm.hh"
022 #include <string>
023 #include <fstream>
024 
025         extern "C" { 
026                 void* pyjets_address_(void);
027         }
028 
029 
030 class Pythia {
031 
032 public:
033 
034   static Pythia* Instance();
035   
036   // Accessors to PYTHIA COMMONS
037   // reference to Pydat1, Pysubs, Pypars, etc 
038 
039 
040   Pydat1& pydat1() { return _pydat1; } 
041   Pydat2& pydat2() { return _pydat2; }
042   Pydat3& pydat3() { return _pydat3; }
043   Pyint2& pyint2() { return _pyint2; }
044   Pyint4& pyint4() { return _pyint4; }
045   Pysubs& pysubs() { return _pysubs; }
046   Pypars& pypars() { return _pypars; }
047   Pydatr& pydatr() { return _pydatr; }
048   Pymssm& pymssm() { return _pymssm; }
049   Pytcsm& pytcsm() { return _pytcsm; }
050   Pyjets& pyjets() { return _pyjets; }
051 
052   const std::string& beam() const { return _beam; }
053   const std::string& frame() const { return _frame; }
054   int events() const { return _events; }
055   void setEvents(int e) { _events =e; }
056   void addEvent() { ++_events; }
057 
058   // pythia calls
059   
060   void Pyinit( std::string,std::string,double* );
061   void Pyevnt();
062   void Pyedit( int* );
063   void Pystat( int* );
064   void Pylist( int* );
065   void Pyofsh();
066   void Pyscat();
067   void Pyupda( int*, int* );
068   void Pyevwt( int*, double* );
069   void Pytune( int );
070   void Upinit();
071   void Upevnt();
072   int  Pycomp( int* kf); // mass index from the particle code
073   void Pygive(std::string);
074   bool Pysetini();
075   
076   // other calls
077 
078   void Lunhep( int* ); // will call STDHEP routine for PYJETS->HEPEVT
079   int  Opdcay(std::string, int*, std::string);
080   void Cldcay( int* );
081   void Stdhepctb( int* );
082   bool findPdgCode( int* code);  
083 
084   // handle copies from PythiaMenu
085 
086   void setEventListLevel( int n ) { _eventlistlevel = n; }
087   void setFirstListEvent( int n ) { _firstlistevent = n; }
088   void setLastListEvent ( int n ) { _lastlistevent  = n; }
089 
090   int  EventListLevel() const { return _eventlistlevel; }
091   int  FirstListEvent() const { return _firstlistevent; }
092   int  LastListEvent()  const { return _lastlistevent ; }
093 
094   // uid accessors/modifiers
095 
096   void setPythiaUid( std::string uid ) { _uid = uid; }
097   std::string getPythiaUid() const { return _uid; }
098 
099 private:
100 
101   // singleton stuff
102 
103   static Pythia* _instance;
104   struct Cleaner { ~Cleaner(); };
105 
106   friend struct Cleaner;
107 
108   Pythia();
109   ~Pythia();
110 
111   // Pythia common blocks pointers
112 
113   Pydat1 _pydat1;
114   Pydat2 _pydat2;
115   Pydat3 _pydat3;
116   Pyint2 _pyint2;
117   Pyint4 _pyint4;
118   Pysubs _pysubs;
119   Pypars _pypars;
120   Pydatr _pydatr;
121   Pymssm _pymssm;
122   Pytcsm _pytcsm;
123   Pyjets _pyjets;
124 
125   // inputs to pyinit
126   std::string _frame;
127   std::string _beam;
128 
129   // event counter
130   int _events;
131 
132   // pythia "user" id - to be used in user defined calls
133   std::string _uid;
134 
135   // copies from PythiaMenu
136 
137   int _eventlistlevel;
138   int _firstlistevent;
139   int _lastlistevent;
140 
141 };
142 
143 #endif //   PYTHIA_HH
144 
145 
146 
147 
148 
149 
150 
151 

source navigation ] diff markup ] identifier search ] freetext search ] file search ]

This page was automatically generated by the LXR engine.
The LXR team
Valid HTML 4.01!

Send problems or questions to cdfcode@fnal.gov