CMS 3D CMS Logo

Classes | Public Types | Static Public Member Functions

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

#include <SimplifyRatio.h>

List of all members.

Classes

struct  prod0
struct  prod1
struct  prod2

Public Types

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

Static Public Member Functions

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

Detailed Description

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

Definition at line 172 of file SimplifyRatio.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::RatioP1< F, G, H >::prod

Definition at line 209 of file SimplifyRatio.h.

template<typename F , typename G , typename H >
typedef AuxProductRatio<prod>::type funct::RatioP1< F, G, H >::type

Definition at line 210 of file SimplifyRatio.h.


Member Function Documentation

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

Definition at line 211 of file SimplifyRatio.h.

References a, funct::A, b, trackerHits::c, funct::C, F(), f, and g.

                                                                   {
      const F& f = fg._1;
      const G& g = fg._2;
      const typename prod::A & a = prod::a(f, g, h);
      const typename prod::B & b = prod::b(f, g, h);
      const typename prod::C & c = prod::c(f, g, h);
      return AuxProductRatio<prod>::combine(a, b, c); 
    }