Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:24:26

0001 // -*- C++ -*-
0002 //
0003 // IS_QTildeShowerKinematics1to2.h is a part of Herwig - A multi-purpose Monte Carlo event generator
0004 // Copyright (C) 2002-2019 The Herwig Collaboration
0005 //
0006 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
0008 //
0009 #ifndef HERWIG_IS_QTildeShowerKinematics1to2_H
0010 #define HERWIG_IS_QTildeShowerKinematics1to2_H
0011 //
0012 // This is the declaration of the IS_QTildeShowerKinematics1to2 class.
0013 //
0014 
0015 #include "Herwig/Shower/QTilde/Kinematics/ShowerKinematics.h"
0016 
0017 namespace Herwig {
0018 
0019 using namespace ThePEG;
0020 
0021 /** \ingroup Shower
0022  *  
0023  *  This (concrete) class provides the specific Intial State shower
0024  *  kinematics information.
0025  *
0026  *  @see ShowerKinematics
0027  *  @see FS_QTildeShowerKinematics1to2
0028  *  @see Decay_QTildeShowerKinematics1to2
0029  *  @see KinematicsReconstructor
0030  */
0031 class IS_QTildeShowerKinematics1to2: public ShowerKinematics {
0032 
0033 public:
0034 
0035   /** @name Standard constructors and destructors. */
0036   //@{
0037   /**
0038    *  Construct in terms of the basis states
0039    */
0040   IS_QTildeShowerKinematics1to2()= default;
0041 
0042   /**
0043    * The default constructor.
0044    */
0045   IS_QTildeShowerKinematics1to2(Energy scale, double z, double phi, Energy pt, tSudakovPtr sud) 
0046     : ShowerKinematics(scale,z,phi,pt,sud) {}
0047   //@}
0048 
0049 public:
0050 
0051   /**
0052    *  The updateChildren, updateParent and updateLast
0053    *  members to update the values of the \f$\alpha\f$ and 
0054    *  \f$p_\perp\f$ variables during the shower evolution.
0055    */
0056   //@{
0057   /**
0058    * Along with the showering evolution --- going forward for
0059    * time-like (forward) evolution, and going backward for space-like
0060    * (backward) evolution --- the kinematical variables of the
0061    * branching products are calculated and updated from the knowledge
0062    * of the parent kinematics.  This method is used by the
0063    * ForwardShowerEvolver.  
0064    * @param parent The branching particle
0065    * @param children The particles produced in the branching
0066    * @param partnerType The type of evolution partner
0067    */
0068   virtual void updateChildren( const tShowerParticlePtr parent, 
0069                    const ShowerParticleVector & children,
0070                    unsigned int pTscheme,
0071                    ShowerPartnerType partnerType) const;
0072 
0073   virtual void resetChildren( const tShowerParticlePtr parent, 
0074                   const ShowerParticleVector & children) const;
0075 
0076   /**
0077    * Update the parent Kinematics from the knowledge of the kinematics
0078    * of the children. This method will be used by the 
0079    * KinematicsReconstructor.
0080    * @param parent The branching particle
0081    * @param children The particles produced in the branching
0082    * @param partnerType The type of evolution partner
0083    */
0084   virtual void updateParent( const tShowerParticlePtr parent, 
0085                  const ShowerParticleVector & children,
0086                  unsigned int pTscheme,
0087                  ShowerPartnerType partnerType) const;
0088 
0089   /**
0090    * Update the parent Kinematics from the knowledge of the kinematics
0091    * of the children. This method will be used by the 
0092    * KinematicsReconstructor.
0093    */
0094   virtual void reconstructParent( const tShowerParticlePtr parent, 
0095                   const ParticleVector & children ) const;
0096 
0097   /**
0098    * Update the kinematical data of a particle when a reconstruction
0099    * fixpoint was found. This will highly depend on the kind of
0100    * kinematics chosen and will be defined in the inherited concrete
0101    * classes. This method will be used by the KinematicsReconstructor.
0102    * @param theLast The particle.
0103    * @param px The \f$x\f$ component of the \f$p_T\f$.
0104    * @param py The \f$y\f$ component of the \f$p_T\f$.
0105    */
0106   virtual void updateLast(const tShowerParticlePtr theLast,
0107               Energy px, Energy py) const;
0108   //@}
0109 
0110 private:
0111 
0112   /**
0113    * The assignment operator is private and must never be called.
0114    * In fact, it should not even be implemented.
0115    */
0116   IS_QTildeShowerKinematics1to2 & operator=(const IS_QTildeShowerKinematics1to2 &) = delete;
0117 
0118 };
0119 
0120 }
0121 
0122 #endif /* HERWIG_IS_QTildeShowerKinematics1to2_H */