CMS 3D CMS Logo

funct::SimplSumOrd< F, G, H > Struct Template Reference

#include <PhysicsTools/Utilities/interface/SimplifySum.h>

Inheritance diagram for funct::SimplSumOrd< F, G, H >:

funct::Sum< SUM_S(A, B), C > funct::Sum< SUM_S(A, B), PROD_S(C, D) >

List of all members.

Public Types

typedef ::boost::mpl::if_
< prod1, prod1,
typename::boost::mpl::if_
< prod2, prod2, prod0 >::type >
::type 
prod
typedef AuxSum< prod >::type type

Static Public Member Functions

static type combine (const SUM_S(F, G)&fg, const H &h)

Classes

struct  prod0
struct  prod1
struct  prod2


Detailed Description

template<typename F, typename G, typename H>
struct funct::SimplSumOrd< F, G, H >

Definition at line 136 of file SimplifySum.h.


Member Typedef Documentation

template<typename F, typename G, typename H>
typedef ::boost::mpl::if_<prod1, prod1, typename ::boost::mpl::if_ <prod2, prod2, prod0 >::type >::type funct::SimplSumOrd< F, G, H >::prod

Definition at line 173 of file SimplifySum.h.

template<typename F, typename G, typename H>
typedef AuxSum< prod >::type funct::SimplSumOrd< F, G, H >::type

Definition at line 174 of file SimplifySum.h.


Member Function Documentation

template<typename F, typename G, typename H>
static type funct::SimplSumOrd< F, G, H >::combine ( const SUM_S(F, G)&  fg,
const H &  h 
) [inline, static]

Definition at line 175 of file SimplifySum.h.

00175                                                                   {
00176       const F& f = fg._1;
00177       const G& g = fg._2;
00178       const typename prod::A & a = prod::a(f, g, h);
00179       const typename prod::B & b = prod::b(f, g, h);
00180       const typename prod::C & c = prod::c(f, g, h);
00181       return AuxSum< prod >::combine(a + b, c); 
00182     }


The documentation for this struct was generated from the following file:
Generated on Tue Jun 9 18:47:03 2009 for CMSSW by  doxygen 1.5.4