]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ALIFAST/AliFast.h
This commit was generated by cvs2svn to compensate for changes in r1018,
[u/mrichter/AliRoot.git] / ALIFAST / AliFast.h
diff --git a/ALIFAST/AliFast.h b/ALIFAST/AliFast.h
new file mode 100644 (file)
index 0000000..585cc2b
--- /dev/null
@@ -0,0 +1,147 @@
+#ifndef AliFast_H
+#define AliFast_H
+
+//////////////////////////////////////////////////////////////////////////
+//                                                                      //
+// AliFast                                                              //
+//                                                                      //
+// Main class to control the AliFast program.                           //
+//                                                                      //
+// This class :                                                         //
+//   - Initialises the run default parameters                           //
+//   - Provides API to Set/Get run parameters                           //
+//   - Creates the support lists (TClonesArrays) for the Event structure//
+//   - Creates the physics objects makers                               //
+//                                                                      //
+//////////////////////////////////////////////////////////////////////////
+
+#include "AliRun.h"
+//#ifndef ROOT_TTree
+#include <TTree.h>
+//#endif
+//#ifndef AliFHistBrowser_H
+#include "AliFHistBrowser.h"
+//#endif
+//#ifndef AliFBigBang_H
+#include "AliFBigBang.h"
+//#endif
+//#ifndef AliFMaker_H
+#include "AliFMaker.h"
+//#endif
+//#ifndef AliFDet_H
+//#include "AliFDet.h"
+//#endif
+
+class TBrowser;
+class TChain;
+class AliFMCMaker;
+class AliFTrackMaker;
+class AliFDet;
+class AliFVirtualDisplay;
+
+class AliFast : public AliRun {
+
+private:
+   Int_t               fVersion;           //AliFast version number
+   Int_t               fVersionDate;       //AliFast version date
+   Int_t               fMode;              //Run mode
+   Int_t               fTestTrack;         //Test mode for TrackMaker
+   TTree              *fTree;              //Pointer to the Root tree
+   TList              *fMakers;            //List of Makers
+//    pointers to standard Makers
+   AliFMCMaker        *fMCMaker;           //Pointer to MCMaker
+   AliFTrackMaker     *fTrackMaker;        //Pointer to TrackMaker
+   AliFDet            *fDet;               //Pointer to Detector
+//    flags and switches
+   Int_t               fLuminosity;        //Luminosity option (low=1, high=2)
+   Bool_t              fBfield;            //B-field (on=1,off=0)
+   Bool_t              fSmearing;          //Smearing on=1, off=0
+   Int_t               fSUSYcodeLSP;       //Code for SUSY LSP particle
+   Int_t               fTrackFinding;      //Track/finding on=1,off=0
+   AliFHistBrowser     fHistBrowser;       //Object to Browse Maker histograms
+   AliFBigBang         fBigBang;           //!Object to Browse generated particles
+   AliFVirtualDisplay *fDisplay;           //!Pointer to Event display object
+
+public:
+                      AliFast();
+                      AliFast(const char *name, const char *title="The ALIAS fast MonteCarlo");
+   virtual           ~AliFast();
+   virtual void       Browse(TBrowser *b);
+   virtual void       Draw(Option_t *option="");  // *MENU*
+   Int_t              GetVersion() {return fVersion;}
+   Int_t              GetVersionDate() {return fVersionDate;}
+   virtual void       Clear(Option_t *option="");
+   AliFVirtualDisplay *Display() {return fDisplay;}
+   virtual void       FillClone();
+   virtual void       Finish();
+   virtual void       GetTreeEvent(Int_t event);  // *MENU*
+   virtual void       Init();
+   Bool_t             IsFolder() {return kTRUE;}
+   virtual void       Make(Int_t i=0);
+   virtual void       Paint(Option_t *option="");
+   virtual void       PrintInfo();
+   virtual void       SetDefaultParameters();
+
+   TList             *Makers()    {return fMakers;}
+   AliFMaker         *Maker(const char *name) {return (AliFMaker*)fMakers->FindObject(name);}
+   AliFMCMaker       *MCMaker()       {return fMCMaker;}
+   AliFTrackMaker    *TrackMaker()    {return fTrackMaker;}
+   AliFDet           *Detector()    {return fDet;}
+   TTree             *Tree() {return fTree;}
+
+   Int_t             Run()   {return fRun;}
+   Int_t             Event() {return fEvent;}
+   Int_t             Mode()  {return fMode;}
+   Int_t             TestTrack()  {return fTestTrack;}
+
+//    Getters for flags and switches
+   Int_t             Luminosity()   {return fLuminosity;}
+   Bool_t            Bfield()       {return fBfield;}
+   Bool_t            Smearing()     {return fSmearing;} 
+   Int_t             SUSYcodeLSP()  {return fSUSYcodeLSP;}
+   Bool_t            TrackFinding() {return fTrackFinding;}
+
+
+//    Setter for Event Display
+   void           SetDisplay(AliFVirtualDisplay *display) {fDisplay=display;}
+//    Setters for flags and switches
+   void           SetLuminosity(Int_t lumi=1)   {fLuminosity=lumi;}
+   void           SetBfield(Bool_t field=1)     {fBfield=field;}
+   void           SetSmearing(Bool_t val=1)     {fSmearing=val;} 
+   void           SetSUSYcodeLSP(Int_t val=66)  {fSUSYcodeLSP=val;}
+   void           SetTrackFinding(Bool_t val=0) {fTrackFinding=val;}
+
+   virtual void   SetRun(Int_t run=1)     {fRun=run;}
+   virtual void   SetEvent(Int_t event=1) {fEvent=event;}
+   virtual void   SetMode(Int_t mode=0)   {fMode=mode;}
+   virtual void   SetTestTrack(Int_t test=0)   {fTestTrack=test;}
+
+   void           FillTree();
+   void           InitChain(TChain *chain);
+   void           MakeTree(const char* name="T", const char*title="AliFast tree");
+
+   void           SortDown(Int_t n, Float_t *a, Int_t *index, Bool_t down=kTRUE);
+
+   ClassDef(AliFast, 1)   //AliFast control class
+};
+
+R__EXTERN AliFast *gAliFast;
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+