9 #ifndef ThePEG_UtilityBase_H
10 #define ThePEG_UtilityBase_H
12 #include "ThePEG/Config/ThePEG.h"
13 #include "ThePEG/EventRecord/ParticleTraits.h"
14 #include "ThePEG/Utilities/Triplet.h"
32 template <
typename Cont>
43 template <
typename Iterator>
46 typedef typename std::iterator_traits<Iterator>::value_type PType;
49 while ( first != last ) sum += Traits::momentum(*first++);
59 template <
typename Iterator>
60 static void transform(Iterator first, Iterator last,
62 typedef typename std::iterator_traits<Iterator>::value_type PType;
74 template <
typename Cont>
76 transform(cont.begin(), cont.end(), boost);
87 template <
typename PType>
98 template <
typename PType>
108 template <
typename PType>
119 template <
typename PType>
125 template <
typename PType>
131 template <
typename PType>
141 template <
typename Iterator>
143 return boostToCM(first, last, last, last);
155 template <
typename Iterator>
157 return boostToCM(first, last, zAxis, last);
170 template <
typename Iterator>
172 Iterator zAxis, Iterator xzPlane);
182 template <
typename PType>
193 template <
typename PType>
205 template <
typename Iter>
219 template <
typename Iter>
236 template <
typename Iter>
251 template <
typename PType>
269 template <
typename PType>
280 template <
typename PType>
295 template <
typename PType>
310 template <
typename LV>
320 template <
typename LV>
330 template <
typename LV>
332 const LV & zAxis, LV xyPlane);
340 template <
typename LV>
350 template <
typename LV>
360 template <
typename LV>
362 const LV & zAxis, LV xyPlane);
368 template <
typename Cont1,
typename Cont2>
369 static void add(Cont1 & c1,
const Cont2 & c2);
378 #ifndef ThePEG_TEMPLATES_IN_CC_FILE
379 #include "UtilityBase.tcc"