ROOT logo
// @(#)root/vmc:$Id: TMCVerbose.h 20882 2007-11-19 11:31:26Z rdm $
// Author: Ivana Hrivnacova; 24/02/2003

/*************************************************************************
 * Copyright (C) 2006, Rene Brun and Fons Rademakers.                    *
 * Copyright (C) 2003, ALICE Experiment at CERN.                         *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TMCVerbose
#define ROOT_TMCVerbose

//
// Class TMCVerbose
// ----------------
// Class for printing detailed info from MC application.
// Defined levels:
//  0  no output
//  1  info up to event level
//  2  info up to tracking level
//  3  detailed info for each step

#include <TObject.h>

class TVirtualMCStack;

class TMCVerbose : public TObject
{
public:
   TMCVerbose(Int_t level);
   TMCVerbose();
   virtual ~TMCVerbose();

   // methods
   virtual void InitMC();
   virtual void RunMC(Int_t nofEvents);
   virtual void FinishRun();

   virtual void ConstructGeometry();
   virtual void ConstructOpGeometry();
   virtual void InitGeometry();
   virtual void AddParticles();
   virtual void AddIons();
   virtual void GeneratePrimaries();
   virtual void BeginEvent();
   virtual void BeginPrimary();
   virtual void PreTrack();
   virtual void Stepping();
   virtual void PostTrack();
   virtual void FinishPrimary();
   virtual void FinishEvent();

   // set methods
   void  SetLevel(Int_t level);

private:
   // methods
   void PrintBanner() const;
   void PrintTrackInfo() const;
   void PrintStepHeader() const;

   // data members
   Int_t  fLevel;      // verbose level
   Int_t  fStepNumber; // current step number

   ClassDef(TMCVerbose,1)  //Verbose class for MC application
};

// inline functions

inline void  TMCVerbose::SetLevel(Int_t level)
{ fLevel = level; }

#endif //ROOT_TMCVerbose

 TMCVerbose.h:1
 TMCVerbose.h:2
 TMCVerbose.h:3
 TMCVerbose.h:4
 TMCVerbose.h:5
 TMCVerbose.h:6
 TMCVerbose.h:7
 TMCVerbose.h:8
 TMCVerbose.h:9
 TMCVerbose.h:10
 TMCVerbose.h:11
 TMCVerbose.h:12
 TMCVerbose.h:13
 TMCVerbose.h:14
 TMCVerbose.h:15
 TMCVerbose.h:16
 TMCVerbose.h:17
 TMCVerbose.h:18
 TMCVerbose.h:19
 TMCVerbose.h:20
 TMCVerbose.h:21
 TMCVerbose.h:22
 TMCVerbose.h:23
 TMCVerbose.h:24
 TMCVerbose.h:25
 TMCVerbose.h:26
 TMCVerbose.h:27
 TMCVerbose.h:28
 TMCVerbose.h:29
 TMCVerbose.h:30
 TMCVerbose.h:31
 TMCVerbose.h:32
 TMCVerbose.h:33
 TMCVerbose.h:34
 TMCVerbose.h:35
 TMCVerbose.h:36
 TMCVerbose.h:37
 TMCVerbose.h:38
 TMCVerbose.h:39
 TMCVerbose.h:40
 TMCVerbose.h:41
 TMCVerbose.h:42
 TMCVerbose.h:43
 TMCVerbose.h:44
 TMCVerbose.h:45
 TMCVerbose.h:46
 TMCVerbose.h:47
 TMCVerbose.h:48
 TMCVerbose.h:49
 TMCVerbose.h:50
 TMCVerbose.h:51
 TMCVerbose.h:52
 TMCVerbose.h:53
 TMCVerbose.h:54
 TMCVerbose.h:55
 TMCVerbose.h:56
 TMCVerbose.h:57
 TMCVerbose.h:58
 TMCVerbose.h:59
 TMCVerbose.h:60
 TMCVerbose.h:61
 TMCVerbose.h:62
 TMCVerbose.h:63
 TMCVerbose.h:64
 TMCVerbose.h:65
 TMCVerbose.h:66
 TMCVerbose.h:67
 TMCVerbose.h:68
 TMCVerbose.h:69
 TMCVerbose.h:70
 TMCVerbose.h:71
 TMCVerbose.h:72
 TMCVerbose.h:73
 TMCVerbose.h:74
 TMCVerbose.h:75
 TMCVerbose.h:76
 TMCVerbose.h:77
 TMCVerbose.h:78