00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ST_PYTHIA_EVENT_MAKER_H
00012 #define ST_PYTHIA_EVENT_MAKER_H
00013
00014
00015 class TFile;
00016 class TTree;
00017 class TVector3;
00018 class TParticle;
00019
00020
00021 class StPythiaEvent;
00022
00023
00024 #include "StMaker.h"
00025
00026 class StPythiaEventMaker : public StMaker {
00027 public:
00028 StPythiaEventMaker(const char* name = "PythiaEvent")
00029 : StMaker(name)
00030 , mFileName("pythia.root")
00031 , mFile(0)
00032 , mTree(0)
00033 , mPythiaEvent(0)
00034 {
00035 }
00036
00037 void Clear(Option_t* option = "");
00038 int Init();
00039 int Make();
00040 int Finish();
00041 void SetPythiaFile(const char* filename) { mFileName = filename; }
00042
00043 private:
00044 void getEvent();
00045 void getPythia();
00046 void getVertex();
00047 void getParticles();
00048 void getAsymmetries();
00049
00050 TString mFileName;
00051 TFile* mFile;
00052 TTree* mTree;
00053 StPythiaEvent* mPythiaEvent;
00054
00055 ClassDef(StPythiaEventMaker,0);
00056 };
00057
00058 ostream& operator<<(ostream&, const TVector3&);
00059 ostream& operator<<(ostream&, const TParticle&);
00060 ostream& operator<<(ostream&, const StPythiaEvent&);
00061
00062 #endif // ST_PYTHIA_EVENT_MAKER_H