Commit 77f9934f authored by cvs2svn's avatar cvs2svn
Browse files

This commit was manufactured by cvs2svn to create tag

'GAUDI_v19r3-pre'.

git-svn-id: svn+ssh://svn.cern.ch/reps/gaudi/distribution/tags/GAUDI/GAUDI_v19r3-pre@3684 53ecefc3-a64d-0410-9bdf-b8581fa3287e
parents
// $Id: Aida2ROOT.h,v 1.1.1.1 2007/02/07 17:49:45 hmd Exp $
// ============================================================================
// CVS tag $Name: $, version $Revision: 1.1.1.1 $
// ============================================================================
// $Log: Aida2ROOT.h,v $
// Revision 1.1.1.1 2007/02/07 17:49:45 hmd
// module import
//
// ============================================================================
#ifndef GAUDIALG_AIDA2ROOT_H
#define GAUDIALG_AIDA2ROOT_H 1
// ============================================================================
// Include files
// ============================================================================
// Forward declarations
// ============================================================================
namespace AIDA
{
class IBaseHistogram ;
class IHistogram ;
class IHistogram1D ;
class IHistogram2D ;
class IHistogram3D ;
class IProfile1D ;
class IProfile2D ;
}
// ============================================================================
// ROOT
// ============================================================================
class TH1D ;
class TH2D ;
class TH3D ;
class TProfile ;
class TProfile2D ;
class TObject ;
// ============================================================================
namespace Gaudi
{
namespace Utils
{
/** @class Aida2ROOT Aida2ROOT.h GaudiKernel/Aida2ROOT.h
*
* Accessor to underlying ROOT-representation of
* transient histograms
* The actual code is imported from Bender project.
*
* It relies on PI implementation of AIDA interface,
* modified by Markus FRANK.
*
* @see Gaudi::H1D
* @see Gaudi::H2D
* @see Gaudi::H3D
* @see Gaudi::Profile1D
* @see Gaudi::Profile2D
*
* @see AIDA::IHistogram1D
* @see AIDA::IHistogram2D
* @see AIDA::IHistogram3D
* @see AIDA::IProfile1D
* @see AIDA::IProfile2D
*
* @author Vanya BELYAEV ibelyaev@physics.syr.edu
* @date 2007-01-23
*/
class Aida2ROOT
{
public:
/// get the underlying pointer for 1D-histogram
static TH1D* aida2root ( AIDA::IHistogram1D* aida ) ;
/// get the underlying pointer for 2D-histogram
static TH2D* aida2root ( AIDA::IHistogram2D* aida ) ;
/// get the underlying pointer for 3D-histogram
static TH3D* aida2root ( AIDA::IHistogram3D* aida ) ;
/// get the underlying pointer for 1D-profile
static TProfile* aida2root ( AIDA::IProfile1D* aida ) ;
/// get the underlying pointer for 2D-profile
static TProfile2D* aida2root ( AIDA::IProfile2D* aida ) ;
/// get root representation for other cases
static TObject* aida2root ( AIDA::IHistogram* aida ) ;
} ;
} // end of namespace Utils
} // end of namespace Gaudi
// ============================================================================
// The END
// ============================================================================
#endif // GAUDIALG_AIDA2ROOT_H
// ============================================================================
# $Id: requirements,v 1.1.1.1 2007/02/07 17:49:45 hmd Exp $
# =============================================================================
package GaudiUtils
version v1r0
# ============== structure ====================================================
branches GaudiUtils src cmt doc
# ============== dependencies =================================================
use GaudiKernel v*
use ROOT v* LCG_Interfaces
use AIDA v* LCG_Interfaces -no_auto_imports
use Boost v* LCG_Interfaces -no_auto_imports
# ============== own includes =================================================
apply_pattern install_more_includes more="GaudiUtils"
# ============== constituents =================================================
library GaudiUtilsLib Lib/*.cpp -import=AIDA -import=Boost
# ============== patterns =====================================================
apply_pattern linker_library library="GaudiUtilsLib"
private
macro_append ROOT_linkopts " -lHist " WIN32 " libHist.lib "
Package: GaudiUtils
Package manager : Hubert Degaudenzi
================ GaudiUtils v1r0 ======================================
! 2007-02-07 - Ivan Belyaev
- patch #989. GaudiUtils/Aida2ROOT.h, src/Lib/Aida2ROOT.cpp, new
class Gaudi::Aida2ROOT for access for internal ROOT implementation
of transient histograms in Gaudi [Useful functions, heavily used in
the context of Bender/Panoramix&Online]
// $Id: Aida2ROOT.cpp,v 1.1.1.1 2007/02/07 17:49:45 hmd Exp $
// ============================================================================
// CVS tag $Name: $, version $Revision: 1.1.1.1 $
// ============================================================================
// $Log: Aida2ROOT.cpp,v $
// Revision 1.1.1.1 2007/02/07 17:49:45 hmd
// module import
//
// ============================================================================
// Incldue files
// ============================================================================
// AIDA
// ============================================================================
#include "AIDA/IHistogram1D.h"
#include "AIDA/IHistogram2D.h"
#include "AIDA/IHistogram3D.h"
#include "AIDA/IProfile1D.h"
#include "AIDA/IProfile2D.h"
// ============================================================================
// ROOT
// ============================================================================
#include "TH1D.h"
#include "TH2D.h"
#include "TH3D.h"
#include "TProfile.h"
#include "TProfile2D.h"
// ============================================================================
// GaudiKernel
// ============================================================================
#include "GaudiKernel/HistogramBase.h"
// ============================================================================
// GaudiAlg
// ============================================================================
#include "GaudiUtils/Aida2ROOT.h"
// ============================================================================
/** @file
* Implementation file for class Gaudi::Utils::Aida2ROOT
*
* @author Vanya BELYAEV ibelyaev@physics.syr.edu
* @date 2007-01-23
*/
// ============================================================================
/// get the underlying pointer for 1D-histogram
// ============================================================================
TH1D* Gaudi::Utils::Aida2ROOT::aida2root ( AIDA::IHistogram1D* aida )
{
if ( 0 == aida ) { return 0 ; }
Gaudi::HistogramBase* base = dynamic_cast<Gaudi::HistogramBase*> ( aida ) ;
if ( 0 == base ) { return 0 ; }
return dynamic_cast<TH1D*>( base->representation() ) ;
}
// ============================================================================
/// get the underlying pointer for 2D-histogram
// ============================================================================
TH2D* Gaudi::Utils::Aida2ROOT::aida2root ( AIDA::IHistogram2D* aida )
{
if ( 0 == aida ) { return 0 ; }
Gaudi::HistogramBase* base = dynamic_cast<Gaudi::HistogramBase*> ( aida ) ;
if ( 0 == base ) { return 0 ; }
return dynamic_cast<TH2D*>( base->representation() ) ;
}
// ============================================================================
/// get the underlying pointer for 3D-histogram
// ============================================================================
TH3D* Gaudi::Utils::Aida2ROOT::aida2root ( AIDA::IHistogram3D* aida )
{
if ( 0 == aida ) { return 0 ; }
Gaudi::HistogramBase* base = dynamic_cast<Gaudi::HistogramBase*> ( aida ) ;
if ( 0 == base ) { return 0 ; }
return dynamic_cast<TH3D*>( base->representation() ) ;
}
// ============================================================================
/// get the underlying pointer for 1D-profile
// ============================================================================
TProfile* Gaudi::Utils::Aida2ROOT::aida2root ( AIDA::IProfile1D* aida )
{
if ( 0 == aida ) { return 0 ; }
Gaudi::HistogramBase* base = dynamic_cast<Gaudi::HistogramBase*> ( aida ) ;
if ( 0 == base ) { return 0 ; }
return dynamic_cast<TProfile*>( base->representation() ) ;
}
// ============================================================================
/// get the underlying pointer for 2D-profile
// ============================================================================
TProfile2D* Gaudi::Utils::Aida2ROOT::aida2root ( AIDA::IProfile2D* aida )
{
if ( 0 == aida ) { return 0 ; }
Gaudi::HistogramBase* base = dynamic_cast<Gaudi::HistogramBase*> ( aida ) ;
if ( 0 == base ) { return 0 ; }
return dynamic_cast<TProfile2D*>( base->representation() ) ;
}
// ============================================================================
/// get root representation for other cases
// ============================================================================
TObject* Gaudi::Utils::Aida2ROOT::aida2root ( AIDA::IHistogram* aida )
{
if ( 0 == aida ) { return 0 ; }
Gaudi::HistogramBase* base = dynamic_cast<Gaudi::HistogramBase*> ( aida ) ;
if ( 0 == base ) { return 0 ; }
return base->representation() ;
}
// ============================================================================
// ============================================================================
// The END
// ============================================================================
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment