ThePEG  1.8.0
ScalarSpinInfo.h
1 // -*- C++ -*-
2 //
3 // ScalarSpinInfo.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 2003-2011 Peter Richardson, Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_ScalarSpinInfo_H
10 #define ThePEG_ScalarSpinInfo_H
11 // This is the declaration of the ScalarSpinInfo class.
12 
13 #include "ThePEG/EventRecord/SpinInfo.h"
14 #include "ScalarSpinInfo.fh"
15 
16 namespace ThePEG {
17 namespace Helicity {
18 
27 class ScalarSpinInfo: public SpinInfo {
28 
29 public:
30 
36  ScalarSpinInfo() : SpinInfo(PDT::Spin0) {}
37 
43  ScalarSpinInfo(const Lorentz5Momentum & p, bool time)
44  : SpinInfo(PDT::Spin0, p, time) {}
46 
47 public:
48 
52  static void Init();
53 
57  virtual EIPtr clone() const
58  {
59  tcSpinPtr temp = this;
60  return const_ptr_cast<SpinPtr>(temp);
61  }
62 
66  virtual void transform(const LorentzMomentum &,const LorentzRotation &);
67 
68 private:
69 
74 
79 
80 };
81 
82 }
83 }
84 
85 
86 namespace ThePEG {
87 
94 template <>
96  : public ClassTraitsType {
98  typedef ThePEG::SpinInfo NthBase;
99 };
100 
105 template <>
107  : public ClassTraitsBase<ThePEG::Helicity::ScalarSpinInfo> {
111  static string className() { return "ThePEG::Helicity::ScalarSpinInfo"; }
112 };
113 
116 }
117 
118 #endif /* ThePEG_ScalarSpinInfo_H */
ScalarSpinInfo()
Default constructor.
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
PDT is a helper class implementing enumerations for charge, colour and spin to be used by the Particl...
Definition: PDT.h:24
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:681
The LorentzRotation class combine a SpinOneLorentzRotation and a spin SpinHalfLorentzRotation to prov...
virtual void transform(const LorentzMomentum &, const LorentzRotation &)
Perform a lorentz rotation of the spin information.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
virtual EIPtr clone() const
Standard clone methods.
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
static void Init()
Standard Init function.
ScalarSpinInfo & operator=(const ScalarSpinInfo &)
Private and non-existent assignment operator.
The SpinInfo is the base class for the spin information for the spin correlation algorithm.
Definition: SpinInfo.h:58
T1 const_ptr_cast(const T2 &t2)
Replacement for the standard const_cast.
Definition: PtrTraits.h:175
static NoPIOClassDescription< ScalarSpinInfo > initScalarSpinInfo
Describe a concrete class without persistent data.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
ScalarSpinInfo(const Lorentz5Momentum &p, bool time)
Standard Constructor.
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
The ScalarSpinInfo class is designed to be the implementation of the spin information for a scalar pa...
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52