Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // -*- C++ -*-
0002 #ifndef HERWIG_LambdabExcitedLambdacSumRuleFormFactor_H
0003 #define HERWIG_LambdabExcitedLambdacSumRuleFormFactor_H
0004 // This is the declaration of the LambdabExcitedLambdacSumRuleFormFactor class.
0005 
0006 #include "BaryonFormFactor.h"
0007 
0008 namespace Herwig {
0009 using namespace ThePEG;
0010 
0011 /** \ingroup Decay
0012  *
0013  *  The <code>LambdabExcitedLambdacSumRuleFormFactor</code> class implements the
0014  *  form-factors of hep-ph/0012114 for the decay of the \f$Lambda_b^0\f$
0015  *  to excited \f$\Lambda^+_c\f$ states.
0016  *
0017  * @see BaryonFormFactor.
0018  * 
0019  */
0020 class LambdabExcitedLambdacSumRuleFormFactor: public BaryonFormFactor {
0021 
0022 public:
0023 
0024   /**
0025    * Default constructor
0026    */
0027   LambdabExcitedLambdacSumRuleFormFactor();
0028 
0029   /** @name Functions used by the persistent I/O system. */
0030   //@{
0031   /**
0032    * Function used to write out object persistently.
0033    * @param os the persistent output stream written to.
0034    */
0035   void persistentOutput(PersistentOStream & os) const;
0036 
0037   /**
0038    * Function used to read in object persistently.
0039    * @param is the persistent input stream read from.
0040    * @param version the version number of the object when written.
0041    */
0042   void persistentInput(PersistentIStream & is, int version);
0043   //@}
0044 
0045   /**
0046    * Standard Init function used to initialize the interfaces.
0047    */
0048   static void Init();
0049 
0050 protected:
0051 
0052   /** @name Clone Methods. */
0053   //@{
0054   /**
0055    * Make a simple clone of this object.
0056    * @return a pointer to the new object.
0057    */
0058   virtual IBPtr clone() const {return new_ptr(*this);}
0059 
0060   /** Make a clone of this object, possibly modifying the cloned object
0061    * to make it sane.
0062    * @return a pointer to the new object.
0063    */
0064   virtual IBPtr fullclone() const {return new_ptr(*this);}
0065   //@}
0066 
0067 public:
0068 
0069   /** @name Form Factors */
0070   //@{
0071   /**
0072    * The form factor for the weak decay of a spin \f$\frac12\f$ baryon to a 
0073    * spin \f$\frac12\f$ baryon.  
0074    * @param q2 The scale \f$q^2\f$.
0075    * @param iloc The location in the form factor list.
0076    * @param id0 The PDG code of the incoming baryon.
0077    * @param id1 The PDG code of the outgoing baryon.
0078    * @param m0 The mass of the incoming baryon.
0079    * @param m1 The mass of the outgoing baryon.
0080    * @param f1v The form factor \f$F^V_1\f$.
0081    * @param f2v The form factor \f$F^V_2\f$.
0082    * @param f3v The form factor \f$F^V_3\f$.
0083    * @param f1a The form factor \f$F^A_1\f$.
0084    * @param f2a The form factor \f$F^A_2\f$.
0085    * @param f3a The form factor \f$F^A_3\f$.
0086    */
0087   virtual void SpinHalfSpinHalfFormFactor(Energy2 q2,int iloc, int id0, int id1,
0088                       Energy m0, Energy m1,
0089                       Complex & f1v,Complex & f2v,Complex & f3v,
0090                       Complex & f1a,Complex & f2a,Complex & f3a,
0091                       FlavourInfo flavour,
0092                       Virtuality virt=SpaceLike);
0093 
0094   /**
0095    * The form factor for the weak decay of a spin \f$\frac12\f$ baryon to a 
0096    * spin \f$\frac32\f$ baryon.  
0097    * @param q2 The scale \f$q^2\f$.
0098    * @param iloc The location in the form factor list.
0099    * @param id0 The PDG code of the incoming baryon.
0100    * @param id1 The PDG code of the outgoing baryon.
0101    * @param m0 The mass of the incoming baryon.
0102    * @param m1 The mass of the outgoing baryon.
0103    * @param g1v The form factor \f$G^V_1\f$.
0104    * @param g2v The form factor \f$G^V_2\f$.
0105    * @param g3v The form factor \f$G^V_3\f$.
0106    * @param g4v The form factor \f$G^V_4\f$.
0107    * @param g1a The form factor \f$G^A_1\f$.
0108    * @param g2a The form factor \f$G^A_2\f$.
0109    * @param g3a The form factor \f$G^A_3\f$.
0110    * @param g4a The form factor \f$G^A_4\f$.
0111    * @param virt Whether the q2 is space or timelike
0112    */
0113   virtual void SpinHalfSpinThreeHalfFormFactor(Energy2 q2,int iloc, int id0, int id1,
0114                            Energy m0, Energy m1,
0115                            Complex & g1v,Complex & g2v,Complex & g3v,
0116                            Complex & g4v,Complex & g1a,Complex & g2a,
0117                            Complex & g3a,Complex & g4a,
0118                            FlavourInfo flavour,
0119                            Virtuality virt=SpaceLike);
0120   //@}
0121 
0122   /**
0123    * Output the setup information for the particle database
0124    * @param os The stream to output the information to
0125    * @param header Whether or not to output the information for MySQL
0126    * @param create Whether or not to add a statement creating the object
0127    */
0128   virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
0129 
0130 private:
0131 
0132   /**
0133    * Private and non-existent assignment operator.
0134    */
0135   LambdabExcitedLambdacSumRuleFormFactor & operator=(const LambdabExcitedLambdacSumRuleFormFactor &) = delete;
0136 
0137 private:
0138 
0139   /**
0140    * The intercept for the form factor. 
0141    */
0142   double _xi1;
0143 
0144   /**
0145    *  The slope for the form factor.
0146    */
0147   double _rho2;
0148 };
0149 
0150 }
0151 
0152 
0153 #endif /* HERWIG_LambdabExcitedLambdacSumRuleFormFactor_H */