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