Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
PhysicsTools
Utilities
interface
Log.h
Go to the documentation of this file.
1
#ifndef PhysicsTools_Utilities_Log_h
2
#define PhysicsTools_Utilities_Log_h
3
4
#include <cmath>
5
6
namespace
funct {
7
8
template
<
typename
T>
9
struct
LogStruct
{
10
LogStruct
(
const
T
&
t
) :
_
(t) { }
11
inline
double
operator()
()
const
{
return ::log
(
_
()); }
12
T
_
;
13
};
14
15
template
<
typename
T>
16
struct
Log
{
17
typedef
LogStruct<T>
type
;
18
inline
static
type
compose
(
const
T
&
t
) {
return
type
(t); }
19
};
20
21
template
<
typename
T>
22
inline
typename
Log<T>::type
log
(
const
T
&
t
) {
return
Log<T>::compose
(t); }
23
24
}
25
26
#endif
lumiQTWidget.t
tuple t
Definition:
lumiQTWidget.py:50
create_public_lumi_plots.log
log
Definition:
create_public_lumi_plots.py:1102
funct::LogStruct::LogStruct
LogStruct(const T &t)
Definition:
Log.h:10
funct::Log::compose
static type compose(const T &t)
Definition:
Log.h:18
funct::Log
Definition:
Log.h:16
funct::LogStruct::operator()
double operator()() const
Definition:
Log.h:11
funct::Log::type
LogStruct< T > type
Definition:
Log.h:17
funct::log
Log< T >::type log(const T &t)
Definition:
Log.h:22
funct::LogStruct::_
T _
Definition:
Log.h:12
T
long double T
Definition:
Basic3DVectorLD.h:59
funct::LogStruct
Definition:
Log.h:9
Generated for CMSSW Reference Manual by
1.8.5