The Gaudi Framework  master (37c0b60a)
HistoProperty.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDIKERNEL_HISTOPROPERTY_H
12 #define GAUDIKERNEL_HISTOPROPERTY_H 1
13 // ============================================================================
14 // Include files
15 // ============================================================================
16 // GaudiKernel
17 // ============================================================================
18 #include <Gaudi/Property.h>
19 #include <GaudiKernel/HistoDef.h>
20 namespace Gaudi {
21  namespace Details {
22  namespace Property {
23  // ============================================================================
29  template <>
31  if ( !value.ok() || ( m_hasLowerBound && ( value < m_lowerBound ) ) ||
32  ( m_hasUpperBound && ( m_upperBound < value ) ) )
33  throw std::out_of_range( "value " + Gaudi::Utils::toString( value ) + " outside range" );
34  }
35  // ============================================================================
40  template <>
41  inline void NullVerifier::operator()<Gaudi::Histo1DDef>( const Gaudi::Histo1DDef& value ) const {
42  if ( !value.ok() ) throw std::invalid_argument( "bad value " + Gaudi::Utils::toString( value ) );
43  }
44  // ============================================================================
45  } // namespace Property
46  } // namespace Details
47 } // namespace Gaudi
48 // ============================================================================
51 // ============================================================================
54 // ============================================================================
55 
56 // ============================================================================
57 // The END
58 // ============================================================================
59 #endif // GAUDIKERNEL_HISTOPROPERTY_H
Histo1DPropertyRef
Gaudi::Property< Gaudi::Histo1DDef & > Histo1DPropertyRef
the actual type of "histogram property reference"
Definition: HistoProperty.h:53
HistoDef.h
Histo1DProperty
Gaudi::Property< Gaudi::Histo1DDef > Histo1DProperty
the actual type of "histogram property"
Definition: HistoProperty.h:50
Gaudi::Histo1DDef
Definition: HistoDef.h:41
Gaudi::Histo1DDef::ok
bool ok() const
check if all fields are "reasonable"
Definition: HistoDef.h:98
std::invalid_argument
STL class.
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
Gaudi::Utils::toString
std::string toString(const TYPE &obj)
the generic implementation of the type conversion to the string
Definition: ToStream.h:353
Gaudi::Details::Property::BoundedVerifier::operator()
void operator()(const TYPE &value) const
Definition: Property.h:112
std::out_of_range
STL class.
Gaudi::Property< Gaudi::Histo1DDef >
Property.h