Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
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