#ifndef ROOT_TVirtualMCApplication
#define ROOT_TVirtualMCApplication
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#ifndef ROOT_TMath
#include "TMath.h"
#endif
class TVirtualMCApplication : public TNamed {
public:
   
   TVirtualMCApplication(const char *name, const char *title);
   
   TVirtualMCApplication();
   
   virtual ~TVirtualMCApplication();
   
   static TVirtualMCApplication* Instance();
   
   
   
   
   virtual void ConstructGeometry() = 0;
   
   virtual Bool_t MisalignGeometry() {return kFALSE;}
   
   virtual void ConstructOpGeometry() {}
   
   
   virtual void InitGeometry() = 0;
   
   virtual void AddParticles() {}
   
   virtual void GeneratePrimaries() = 0;
   
   virtual void BeginEvent() = 0;
   
   virtual void BeginPrimary() = 0;
   
   virtual void PreTrack() = 0;
   
   virtual void Stepping() = 0;
   
   virtual void PostTrack() = 0;
   
   virtual void FinishPrimary() = 0;
   
   virtual void FinishEvent() = 0;
   
   virtual Double_t TrackingRmax() const { return DBL_MAX; }
   
   virtual Double_t TrackingZmax() const { return DBL_MAX; }
   
   virtual void     Field(const Double_t* x, Double_t* b) const = 0;
private:
   
   static TVirtualMCApplication* fgInstance; 
   ClassDef(TVirtualMCApplication,1)  
};
inline TVirtualMCApplication* TVirtualMCApplication::Instance()
{ return fgInstance; }
#endif //ROOT_TVirtualMCApplication
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.