CMS 3D CMS Logo

DecomposePower.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_Utilities_DecomposePower_h
2 #define PhysicsTools_Utilities_DecomposePower_h
5 
6 namespace funct {
7  template <typename A, typename B>
8  struct DecomposePower {
10  inline static const A& getBase(const type& _) { return _._1; }
11  inline static const B& getExp(const type& _) { return _._2; }
12  };
13 
14  template <typename A>
15  struct DecomposePower<A, Numerical<1> > {
16  typedef A type;
17  inline static const A& getBase(const type& _) { return _; }
18  inline static Numerical<1> getExp(const type& _) { return num<1>(); }
19  };
20 
21 } // namespace funct
22 
23 #endif
Definition: Abs.h:5
static Numerical< 1 > getExp(const type &_)
static const A & getBase(const type &_)
static const B & getExp(const type &_)
static const A & getBase(const type &_)
PowerStruct< A, B > type
Definition: DecomposePower.h:9