|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #ifndef FOURMOM_P4IMPL_H
13 #define FOURMOM_P4IMPL_H
28 template<
class P4Mom_t >
61 P4Impl(
const double p1,
const double p2,
const double p3,
const double p4 );
62 explicit P4Impl(
const CLHEP::HepLorentzVector& theHlv );
63 explicit P4Impl(
const P4Mom_t& rhs );
77 const P4Mom_t&
base()
const;
143 CLHEP::HepLorentzVector
hlv()
const;
158 virtual void set4Mom (
const CLHEP::HepLorentzVector & theHlv ) ;
162 std::ostream&
dump( std::ostream&
out )
const;
186 template<
class P4Mom_t>
193 template<
class P4Mom_t>
197 P4Mom_t ( rhs.
base() )
200 template<
class P4Mom_t>
207 template<
class P4Mom_t>
214 template<
class P4Mom_t>
220 P4Mom_t::set4Mom(theI4M);
223 template<
class P4Mom_t>
230 template<
class P4Mom_t>
234 if (
this != &rhs ) {
235 I4Momentum::operator=( rhs );
236 P4Mom_t::operator=( rhs );
241 template<
class P4Mom_t >
244 const double p3,
const double p4 ) :
246 P4Mom_t (
p1,
p2,
p3, p4 )
249 template<
class P4Mom_t>
254 template<
class P4Mom_t>
260 template<
class P4Mom_t>
266 template<
class P4Mom_t>
272 template<
class P4Mom_t>
278 template<
class P4Mom_t>
284 template<
class P4Mom_t>
290 template<
class P4Mom_t>
296 template<
class P4Mom_t>
302 template<
class P4Mom_t>
308 template<
class P4Mom_t>
311 return P4Mom_t::rapidity();
314 template<
class P4Mom_t>
320 template<
class P4Mom_t>
323 return P4Mom_t::cosPhi();
326 template<
class P4Mom_t>
329 return P4Mom_t::sinPhi();
332 template<
class P4Mom_t>
338 template<
class P4Mom_t>
344 template<
class P4Mom_t>
350 template<
class P4Mom_t>
353 return P4Mom_t::iPt();
356 template<
class P4Mom_t>
359 return P4Mom_t::cosTh();
362 template<
class P4Mom_t>
365 return P4Mom_t::sinTh();
368 template<
class P4Mom_t>
371 return P4Mom_t::tanTh();
374 template<
class P4Mom_t>
377 return P4Mom_t::cotTh();
380 template<
class P4Mom_t>
383 return P4Mom_t::hlv();
386 template<
class P4Mom_t>
392 template<
class P4Mom_t>
395 return P4Mom_t::kind();
399 template<
class P4Mom_t>
402 return P4Mom_t::set4Mom(theI4Mom);
405 template<
class P4Mom_t>
409 P4Mom_t::set4Mom(theI4Mom);
412 template<
class P4Mom_t>
415 return P4Mom_t::set4Mom(theHlv);
423 template<
class P4Mom_t>
430 template<
class P4Mom_t>
437 #endif //> FOURMOM_P4IMPL_H
double p() const
momentum magnitude
double p2() const
square of momentum magnitude
double pt() const
transverse momentum
double m2() const
mass squared
Scalar phi() const
phi method
virtual void set4Mom(const I4Momentum &theI4Mom)
set 4Momentum (will throw exception if cannot be implemented)
Scalar eta() const
pseudorapidity method
double sinTh() const
sinus theta
CLHEP::HepLorentzVector hlv() const
CLHEP HepLorentzVector.
double tanTh() const
tan theta
std::ostream & dump(std::ostream &out) const
Print I4Momentum content.
P4Mom_t & base()
access to underlying base type
const P4Mom_t & base() const
access to underlying base type
virtual void set4Mom(const CLHEP::HepLorentzVector &theHlv)
set 4Momentum (will throw exception if cannot be implemented)
double cotTh() const
cottan theta
P4Impl(const double p1, const double p2, const double p3, const double p4)
Constructor with arguments.
P4Impl(const CLHEP::HepLorentzVector &theHlv)
P4Impl(const P4Impl &rhs)
Copy constructor.
double px() const
x component of momentum
virtual const I4MomentumError * errors() const
Access to errors, if available; returns 0 if no errors.
I4Momentum::Kind kind() const
kind (what type of P4XYZ) of underlying class
P4Mom_t base_type
publish the type of the base class (ie: 'traits-itize' it)
double phi() const
phi in [-pi,pi[
double cosTh() const
cosinus theta
double cosPhi() const
cos(phi)
double pz() const
z component of momentum
double rapidity() const
rapidity
double py() const
y component of momentum
P4Impl(const I4Momentum &rhs)
double et() const
transverse energy defined to be e*sin(theta)
double eta() const
pseudo rapidity
double iPt() const
inverse of transverse momentum
double sinPhi() const
sin(phi)
P4Impl & operator=(const P4Impl &rhs)
Assignment operator.
P4Impl(const I4Momentum *const rhs)
virtual void set4Mom(const I4Momentum *const theI4Mom)
set 4Momentum (will throw exception if cannot be implemented)
P4Impl(const P4Mom_t &rhs)
virtual ~P4Impl()
Default constructor:
P4Impl()
Default constructor.