#ifndef ATLFMCMaker_H #define ATLFMCMaker_H ////////////////////////////////////////////////////////////////////////// // // // ATLFast MCMaker class. // // // ////////////////////////////////////////////////////////////////////////// #ifndef ATLFMaker_H #include "ATLFMaker.h" #endif class TFile; class TTree; class ATLFMCMaker : public ATLFMaker { protected: Int_t m_ProductionMode; //Production mode (see Init) Int_t m_HadronisationMode; //Hadronisation mode (see Init) Int_t m_RndNumber; //RndNumber(see Init) Int_t m_Nparticles; //Number of MC particles Int_t m_Nstop; //Last parton number Int_t m_Nstart; //First non-parton number Int_t m_Nstables; //Number of stable particles TObject *m_Generator; //!Pointer to the event generator TFile *m_File; //Pointer to MC file TTree *m_Tree; //Pointer to MC tree Float_t *m_PT; //!Array with PT of particles Float_t *m_PT2; //!Array with PT**2 of particles Float_t *m_Eta; //!Array with ETA of particles Float_t *m_Phi; //!Array with PHI of particles Int_t *m_Index; //!Array with index of stable particles public: ATLFMCMaker(); ATLFMCMaker(const char *name, const char *title); virtual ~ATLFMCMaker(); Float_t Angle(Float_t px, Float_t py); Int_t Charge(Int_t kf); virtual void CleanParticles(); virtual void Clear(Option_t *option=""); Int_t Compress(Int_t kf); virtual void Draw(Option_t *option=""); Float_t *PT() {return m_PT;} Float_t *PT2() {return m_PT2;} Float_t *Eta() {return m_Eta;} Float_t *Phi() {return m_Phi;} Int_t *Index(){return m_Index;} virtual void Finish(); TObject *Generator() {return m_Generator;} virtual void Init(); virtual Bool_t Is3D() {return kTRUE;} virtual Int_t Make(); Int_t Nstables() {return m_Nstables;} virtual void Paint(Option_t *option=""); virtual void PrintInfo(); Int_t ProductionMode() {return m_ProductionMode;} Int_t HadronisationMode() {return m_HadronisationMode;} Int_t RndNumber() {return m_RndNumber;} Float_t Rapidity(Float_t pt, Float_t pz); virtual void SetHadronisationMode(Int_t mode=3) {m_HadronisationMode=mode;} virtual void SetProductionMode(Int_t mode=1) {m_ProductionMode=mode;} virtual void SetRndNumber(Int_t number=51111) {m_RndNumber=number;} Int_t Nstop() {return m_Nstop;} Int_t Nstart() {return m_Nstart;} virtual void Sizeof3D() const; ClassDef(ATLFMCMaker, 1) //ATLFast MCMaker }; #endif