00001 // @(#)root/unuran:$Id: TUnuranBaseDist.h 21526 2007-12-20 10:42:41Z moneta $ 00002 // Authors: L. Moneta, J. Leydold Wed Feb 28 2007 00003 00004 /********************************************************************** 00005 * * 00006 * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * 00007 * * 00008 * * 00009 **********************************************************************/ 00010 00011 // Header file for class TUnuranBaseDist 00012 00013 00014 #ifndef ROOT_Math_TUnuranBaseDist 00015 #define ROOT_Math_TUnuranBaseDist 00016 00017 //needed by the ClassDef 00018 #ifndef ROOT_Rtypes 00019 #include "Rtypes.h" 00020 #endif 00021 00022 00023 //______________________________________________________________________ 00024 /** 00025 TUnuranBaseDist, base class for Unuran distribution classees such as 00026 TUnuranContDist (for one-dimension) or TUnuranMultiContDist (multi-dimension) 00027 */ 00028 /////////////////////////////////////////////////////////////////////// 00029 class TUnuranBaseDist { 00030 00031 public: 00032 00033 00034 /** 00035 Destructor (no operations) 00036 */ 00037 virtual ~TUnuranBaseDist () {} 00038 00039 /** 00040 Abstract clone method for a deep copy of the derived classes 00041 */ 00042 virtual TUnuranBaseDist * Clone() const = 0; 00043 00044 00045 // private: 00046 // /** 00047 // Default constructor 00048 // */ 00049 // TUnuranBaseDist() {} 00050 00051 // /** 00052 // Copy constructor 00053 // */ 00054 // TUnuranBaseDist(const TUnuranBaseDist & ) {} 00055 00056 // /** 00057 // Assignment operator 00058 // */ 00059 // TUnuranBaseDist & operator = (const TUnuranBaseDist & ) { 00060 // return *this; 00061 // } 00062 00063 00064 ClassDef(TUnuranBaseDist,1) //Base class for Unuran distribution wrappers 00065 00066 00067 }; 00068 00069 00070 00071 #endif /* ROOT_Math_TUnuranBaseDist */