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
) {
23
return
Cos<T>::compose
(
t
);
24
}
25
26
}
// namespace funct
27
28
#endif
funct::CosStruct::CosStruct
CosStruct(const T &t)
Definition:
Cos.h:10
funct
Definition:
Abs.h:5
funct::Cos::compose
static type compose(const T &t)
Definition:
Cos.h:18
submitPVValidationJobs.t
string t
Definition:
submitPVValidationJobs.py:651
funct::Cos
Definition:
Cos.h:16
funct::CosStruct
Definition:
Cos.h:9
funct::CosStruct::operator()
double operator()() const
Definition:
Cos.h:11
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:48
funct::CosStruct::_
T _
Definition:
Cos.h:12
Generated for CMSSW Reference Manual by
1.8.14