00001 /***************************************************************************** 00002 * Project: RooFit * 00003 * Package: RooFitCore * 00004 * @(#)root/roofitcore:$Id: RooPlotable.cxx 24285 2008-06-16 15:05:15Z wouter $ 00005 * Authors: * 00006 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * 00007 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu * 00008 * * 00009 * Copyright (c) 2000-2005, Regents of the University of California * 00010 * and Stanford University. All rights reserved. * 00011 * * 00012 * Redistribution and use in source and binary forms, * 00013 * with or without modification, are permitted according to the terms * 00014 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) * 00015 *****************************************************************************/ 00016 00017 ////////////////////////////////////////////////////////////////////////////// 00018 // 00019 // BEGIN_HTML 00020 // Class RooPotable is a base class for objects that can be inserted into RooPlots and take 00021 // advantage of its internal normalization and axis range adjustment features. The 00022 // most useful implementation of RooPlotable are RooHist and RooCurve. 00023 // END_HTML 00024 // 00025 00026 #include "RooFit.h" 00027 00028 #include "RooPlotable.h" 00029 #include "RooPlotable.h" 00030 #include "TObject.h" 00031 #include "Riostream.h" 00032 00033 ClassImp(RooPlotable) 00034 ; 00035 00036 00037 //_____________________________________________________________________________ 00038 void RooPlotable::printMultiline(ostream& os, Int_t /*content*/, Bool_t /*verbose*/, TString indent) const { 00039 // Print detailed information 00040 os << indent << "--- RooPlotable ---" << endl; 00041 os << indent << " y-axis min = " << getYAxisMin() << endl 00042 << indent << " y-axis max = " << getYAxisMax() << endl 00043 << indent << " y-axis label \"" << getYAxisLabel() << "\"" << endl; 00044 } 00045 00046 00047 //_____________________________________________________________________________ 00048 TObject *RooPlotable::crossCast() { 00049 // Return cast of RooPlotable as TObject. Note that is this a cross 00050 // cast that will change the pointer value in most cases 00051 return dynamic_cast<TObject*>(this); 00052 }