CMS 3D CMS Logo

Classes | Namespaces | Macros | Functions
Variables.h File Reference
#include "PhysicsTools/Utilities/interface/ParametricTrait.h"
#include <iostream>

Go to the source code of this file.

Classes

struct  funct::DefaultVariable
 
struct  funct::Parametric< DefaultVariable >
 
struct  funct::Parametric< X >
 
struct  funct::Parametric< Y >
 
struct  funct::Parametric< Z >
 
struct  funct::X
 
struct  funct::Y
 
struct  funct::Z
 

Namespaces

 funct
 

Macros

#define DEFINE_INT_VARIABLE(X, NAME)   DEFINE_VARIABLE_T(int, X, NAME)
 
#define DEFINE_VARIABLE(X, NAME)   DEFINE_VARIABLE_T(double, X, NAME)
 
#define DEFINE_VARIABLE_T(T, X, NAME)
 
#define IMPLEMENT_INT_VARIABLE(X)   IMPLEMENT_VARIABLE_T(int, X)
 
#define IMPLEMENT_VARIABLE(X)   IMPLEMENT_VARIABLE_T(double, X)
 
#define IMPLEMENT_VARIABLE_T(T, X)
 

Functions

std::ostream & funct::operator<< (std::ostream &cout, const funct::DefaultVariable &)
 
std::ostream & funct::operator<< (std::ostream &cout, const funct::X &)
 
std::ostream & funct::operator<< (std::ostream &cout, const funct::Y &)
 
std::ostream & funct::operator<< (std::ostream &cout, const funct::Z &)
 

Macro Definition Documentation

#define DEFINE_INT_VARIABLE (   X,
  NAME 
)    DEFINE_VARIABLE_T(int, X, NAME)

Definition at line 43 of file Variables.h.

#define DEFINE_VARIABLE (   X,
  NAME 
)    DEFINE_VARIABLE_T(double, X, NAME)

Definition at line 37 of file Variables.h.

#define DEFINE_VARIABLE_T (   T,
  X,
  NAME 
)
Value:
namespace funct { \
struct X { \
typedef T type; \
X() { } \
X(const T& x) { set(x); } \
inline operator T() const { return value; } \
inline T operator()() const { return value; } \
inline static const char* name() { static const char * name = NAME; return name; } \
inline X operator=(const T& x) { set(x); return *this; } \
inline static void set(const T& x) { value = x; } \
private: \
static T value; \
}; \
\
inline std::ostream& operator<<(std::ostream& cout, const funct::X &) \
{ return cout << funct::X::name(); } \
\
} \
\
struct __useless_ignoreme
static const bool value
Definition: Factorize.h:108
Definition: Abs.h:5
#define X(str)
Definition: MuonsGrabber.cc:48
static const char * name()
Definition: Variables.h:50
T x() const
Cartesian x coordinate.
Definition: value.py:1
#define NON_PARAMETRIC(FUN)
arg type
Definition: Factorize.h:38
std::ostream & operator<<(std::ostream &cout, const Expression &e)
Definition: Expression.h:39
long double T

Definition at line 6 of file Variables.h.

#define IMPLEMENT_INT_VARIABLE (   X)    IMPLEMENT_VARIABLE_T(int, X)

Definition at line 46 of file Variables.h.

#define IMPLEMENT_VARIABLE (   X)    IMPLEMENT_VARIABLE_T(double, X)

Definition at line 40 of file Variables.h.

#define IMPLEMENT_VARIABLE_T (   T,
  X 
)
Value:
namespace funct { \
T X::value; \
} \
\
struct __useless_ignoreme \
Definition: Abs.h:5
static double value
Definition: Variables.h:50

Definition at line 30 of file Variables.h.