// @(#)root/vmc:$Id$
// Author: Ivana Hrivnacova, 27/03/2002

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

#include "TVirtualMCApplication.h"
#include "TError.h"

//______________________________________________________________________________
//
// Interface to a user Monte Carlo application.
//______________________________________________________________________________

ClassImp(TVirtualMCApplication)

TMCThreadLocal TVirtualMCApplication* TVirtualMCApplication::fgInstance = 0;

//_____________________________________________________________________________
TVirtualMCApplication::TVirtualMCApplication(const char *name,
                                             const char *title)
  : TNamed(name,title)
{
//
// Standard constructor
//

   if (fgInstance) {
      Fatal("TVirtualMCApplication",
            "Attempt to create two instances of singleton.");
   }

   fgInstance = this;
}

//_____________________________________________________________________________
TVirtualMCApplication::TVirtualMCApplication()
  : TNamed()
{
   //
   // Default constructor
   //
   fgInstance = this;
}

//_____________________________________________________________________________
TVirtualMCApplication::~TVirtualMCApplication()
{
   //
   // Destructor
   //

   fgInstance = 0;
}

//_____________________________________________________________________________
TVirtualMCApplication* TVirtualMCApplication::Instance()
{
   //
   // Static access method
   //

   return fgInstance;
}

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