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