TMCVerbose.h

Go to the documentation of this file.
00001 // @(#)root/vmc:$Id: TMCVerbose.h 20882 2007-11-19 11:31:26Z rdm $
00002 // Author: Ivana Hrivnacova; 24/02/2003
00003 
00004 /*************************************************************************
00005  * Copyright (C) 2006, Rene Brun and Fons Rademakers.                    *
00006  * Copyright (C) 2003, ALICE Experiment at CERN.                         *
00007  * All rights reserved.                                                  *
00008  *                                                                       *
00009  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00010  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00011  *************************************************************************/
00012 
00013 #ifndef ROOT_TMCVerbose
00014 #define ROOT_TMCVerbose
00015 
00016 //
00017 // Class TMCVerbose
00018 // ----------------
00019 // Class for printing detailed info from MC application.
00020 // Defined levels:
00021 //  0  no output
00022 //  1  info up to event level
00023 //  2  info up to tracking level
00024 //  3  detailed info for each step
00025 
00026 #include <TObject.h>
00027 
00028 class TVirtualMCStack;
00029 
00030 class TMCVerbose : public TObject
00031 {
00032 public:
00033    TMCVerbose(Int_t level);
00034    TMCVerbose();
00035    virtual ~TMCVerbose();
00036 
00037    // methods
00038    virtual void InitMC();
00039    virtual void RunMC(Int_t nofEvents);
00040    virtual void FinishRun();
00041 
00042    virtual void ConstructGeometry();
00043    virtual void ConstructOpGeometry();
00044    virtual void InitGeometry();
00045    virtual void AddParticles();
00046    virtual void AddIons();
00047    virtual void GeneratePrimaries();
00048    virtual void BeginEvent();
00049    virtual void BeginPrimary();
00050    virtual void PreTrack();
00051    virtual void Stepping();
00052    virtual void PostTrack();
00053    virtual void FinishPrimary();
00054    virtual void FinishEvent();
00055 
00056    // set methods
00057    void  SetLevel(Int_t level);
00058 
00059 private:
00060    // methods
00061    void PrintBanner() const;
00062    void PrintTrackInfo() const;
00063    void PrintStepHeader() const;
00064 
00065    // data members
00066    Int_t  fLevel;      // verbose level
00067    Int_t  fStepNumber; // current step number
00068 
00069    ClassDef(TMCVerbose,1)  //Verbose class for MC application
00070 };
00071 
00072 // inline functions
00073 
00074 inline void  TMCVerbose::SetLevel(Int_t level)
00075 { fLevel = level; }
00076 
00077 #endif //ROOT_TMCVerbose
00078 

Generated on Tue Jul 5 14:27:16 2011 for ROOT_528-00b_version by  doxygen 1.5.1