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