/*****************************************************************************
 * Project: RooFit                                                           *
 * Package: RooFitCore                                                       *
 * @(#)root/roofitcore:$Id$
 * Authors:                                                                  *
 *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
 *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
 *                                                                           *
 * Copyright (c) 2000-2005, Regents of the University of California          *
 *                          and Stanford University. All rights reserved.    *
 *                                                                           *
 * Redistribution and use in source and binary forms,                        *
 * with or without modification, are permitted according to the terms        *
 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
 *****************************************************************************/

//////////////////////////////////////////////////////////////////////////////
// 
// BEGIN_HTML
// RooAbsMCStudyModule is a base class for add-on modules to RooMCStudy that
// can perform additional calculations on each generate+fit cycle managed
// by RooMCStudy
//
// This class can insert code to be executed before each generation step,
// between the generation and fitting step and after the fitting step.
// Any summary output variables declared in the RooDataSet exported through
// summaryData() is merged with the 'master' summary dataset in RooMCStudy
//
// Look at RooDLLSignificanceMCStudyModule for an example of an implementation
// END_HTML
//
//

#include "RooFit.h"
#include "RooAbsMCStudyModule.h"

using namespace std;

ClassImp(RooAbsMCStudyModule)
  ;


//_____________________________________________________________________________
RooAbsMCStudyModule::RooAbsMCStudyModule(const char* name, const char* title) : TNamed(name,title), _mcs(0) 
{
  // Constructor
} 


//_____________________________________________________________________________
RooAbsMCStudyModule::RooAbsMCStudyModule(const RooAbsMCStudyModule& other) : TNamed(other), _mcs(other._mcs)
{
  // Copy constructor
} 


//_____________________________________________________________________________
Bool_t RooAbsMCStudyModule::doInitializeInstance(RooMCStudy& study) 
{ 
  // Store reference to RooMCStudy object that this module relates to and call internal module
  // initialization function
  _mcs = &study ; 
  return initializeInstance() ; 
}  

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