Slats mapping files in NonBending
[u/mrichter/AliRoot.git] / ALIFAST / AliFast.h
index 585cc2b..a067a71 100644 (file)
 //                                                                      //
 //////////////////////////////////////////////////////////////////////////
 
-#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
+#include "AliFHistBrowser.h"
+#include "AliRun.h"
 
 class TBrowser;
 class TChain;
+class TTree;
+
+class AliFDet;
 class AliFMCMaker;
+class AliFMaker;
 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 AliFast &afast);
                       AliFast(const char *name, const char *title="The ALIAS fast MonteCarlo");
    virtual           ~AliFast();
+   AliFast& operator = (const AliFast &afast) 
+     {afast.Copy(*this); return (*this);}
+
    virtual void       Browse(TBrowser *b);
-   virtual void       Draw(Option_t *option="");  // *MENU*
-   Int_t              GetVersion() {return fVersion;}
-   Int_t              GetVersionDate() {return fVersionDate;}
+   virtual void       Draw(Option_t *option="") const;  // *MENU*
+   Int_t              GetVersion() const {return fVersion;}
+   Int_t              GetVersionDate() const {return fVersionDate;}
    virtual void       Clear(Option_t *option="");
-   AliFVirtualDisplay *Display() {return fDisplay;}
+   AliFVirtualDisplay *FDisplay() {return fFDisplay;}
    virtual void       FillClone();
    virtual void       Finish();
    virtual void       GetTreeEvent(Int_t event);  // *MENU*
    virtual void       Init();
-   Bool_t             IsFolder() {return kTRUE;}
+   Bool_t             IsFolder() const {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;}
+   TList             *Makers()    const {return fMakers;}
+   AliFMaker         *Maker(const char *name) const {return (AliFMaker*)fMakers->FindObject(name);}
+   AliFMCMaker       *MCMaker()     const {return fMCMaker;}
+   AliFTrackMaker    *TrackMaker()  const {return fTrackMaker;}
+   AliFDet           *Detector()    const {return fDet;}
+   TTree             *Tree()        const {return fTree;}
 
-   Int_t             Run()   {return fRun;}
-   Int_t             Event() {return fEvent;}
-   Int_t             Mode()  {return fMode;}
-   Int_t             TestTrack()  {return fTestTrack;}
+   Int_t             Run()          const {return fRun;}
+   Int_t             Event()        const {return fEvent;}
+   Int_t             Mode()         const {return fMode;}
+   Int_t             TestTrack()    const {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;}
+   Int_t             Luminosity()   const {return fLuminosity;}
+   Bool_t            Bfield()       const {return fBfield;}
+   Bool_t            Smearing()     const {return fSmearing;} 
+   Int_t             SUSYcodeLSP()  const {return fSUSYcodeLSP;}
+   Bool_t            TrackFinding() const {return fTrackFinding;}
 
 
 //    Setter for Event Display
-   void           SetDisplay(AliFVirtualDisplay *display) {fDisplay=display;}
+   void           SetDisplay(AliFVirtualDisplay *display) {fFDisplay=display;}
 //    Setters for flags and switches
    void           SetLuminosity(Int_t lumi=1)   {fLuminosity=lumi;}
    void           SetBfield(Bool_t field=1)     {fBfield=field;}
@@ -120,7 +93,31 @@ public:
    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);
+   void           SortDown(Int_t n, Float_t *a, Int_t *index, Bool_t down=kTRUE) const;
+
+private:
+
+   void Copy(TObject &afast) const;
+
+   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 *fFDisplay;           //!Pointer to Event display object
 
    ClassDef(AliFast, 1)   //AliFast control class
 };