CMS 3D CMS Logo

Classes | Public Types | Static Public Member Functions

funct::RatioP2< 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 AuxProductRatio2< prod >
::type 
type

Static Public Member Functions

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

Detailed Description

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

Definition at line 241 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::RatioP2< F, G, H >::prod

Definition at line 278 of file SimplifyRatio.h.

template<typename F , typename G , typename H >
typedef AuxProductRatio2<prod>::type funct::RatioP2< F, G, H >::type

Definition at line 279 of file SimplifyRatio.h.


Member Function Documentation

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

Definition at line 280 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 AuxProductRatio2<prod>::combine(a, b, c); 
    }