File indexing completed on 2025-11-04 10:21:13
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 #ifndef Pythia8_SigmaSUSY_H
0011 #define Pythia8_SigmaSUSY_H
0012 
0013 #include "Pythia8/PhaseSpace.h"
0014 #include "Pythia8/PythiaComplex.h"
0015 #include "Pythia8/SigmaProcess.h"
0016 #include "Pythia8/SusyCouplings.h"
0017 
0018 namespace Pythia8 {
0019 
0020 
0021 
0022 
0023 
0024 class Sigma2SUSY : public Sigma2Process {
0025 
0026 public:
0027 
0028   
0029   virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0030   void setPointers(string processIn);
0031 
0032  };
0033 
0034 
0035 
0036 
0037 
0038 class Sigma2qqbar2chi0chi0 : public Sigma2SUSY {
0039 
0040 public:
0041 
0042   
0043   Sigma2qqbar2chi0chi0() : id3chi(), id4chi(), codeSave(), sigma0(),
0044     ui(), uj(), ti(), tj(), openFracPair() {};
0045 
0046   
0047   Sigma2qqbar2chi0chi0(int id3chiIn, int id4chiIn, int codeIn) : sigma0(),
0048     ui(), uj(), ti(), tj(), openFracPair() {
0049 
0050     
0051     id3chi   = id3chiIn;
0052     id4chi   = id4chiIn;
0053     codeSave = codeIn;
0054 
0055 
0056     
0057     id3                  = 1000022;
0058     if (id3chi == 2) id3 = 1000023;
0059     if (id3chi == 3) id3 = 1000025;
0060     if (id3chi == 4) id3 = 1000035;
0061     if (id3chi == 5) id3 = 1000045;
0062     id4                  = 1000022;
0063     if (id4chi == 2) id4 = 1000023;
0064     if (id4chi == 3) id4 = 1000025;
0065     if (id4chi == 4) id4 = 1000035;
0066     if (id4chi == 5) id4 = 1000045;
0067 
0068   }
0069 
0070   
0071   virtual void initProc();
0072 
0073   
0074   virtual void sigmaKin();
0075 
0076   
0077   virtual double sigmaHat();
0078 
0079   
0080   virtual void setIdColAcol();
0081 
0082   
0083   
0084 
0085   
0086   virtual string name()    const {return nameSave;}
0087   virtual int    code()    const {return codeSave;}
0088   virtual string inFlux()  const {return "ff";}
0089   virtual int    id3Mass() const {return abs(id3);}
0090   virtual int    id4Mass() const {return abs(id4);}
0091   virtual int    resonanceA() const {return 23;}
0092   virtual bool   isSUSY()  const {return true;}
0093   virtual double getSigma0() const {return sigma0;}
0094 
0095  protected:
0096 
0097   
0098   int     id3chi, id4chi, codeSave;
0099   string  nameSave;
0100 
0101   
0102   double  sigma0, ui, uj, ti, tj, openFracPair;
0103   complex propZ;
0104 
0105 };
0106 
0107 
0108 
0109 
0110 
0111 class Sigma2qqbar2charchi0 : public Sigma2qqbar2chi0chi0 {
0112 
0113 public:
0114 
0115   
0116   Sigma2qqbar2charchi0(int id3chiIn, int id4chiIn, int codeIn) {
0117 
0118     
0119     id3chi   = id3chiIn;
0120     id4chi   = id4chiIn;
0121     codeSave = codeIn;
0122 
0123     
0124     id3 = (abs(id3chi) == 2) ? 1000037 : 1000024;
0125     if (id3chi < 0)  id3 = -id3;
0126 
0127     id4                  = 1000022;
0128     if (id4chi == 2) id4 = 1000023;
0129     if (id4chi == 3) id4 = 1000025;
0130     if (id4chi == 4) id4 = 1000035;
0131     if (id4chi == 5) id4 = 1000045;
0132 
0133   }
0134 
0135   
0136   virtual void sigmaKin();
0137 
0138   
0139   virtual double sigmaHat();
0140 
0141   virtual int    resonanceA() const {return 24;}
0142 
0143 protected :
0144 
0145   complex propW;
0146 
0147 };
0148 
0149 
0150 
0151 
0152 
0153 class Sigma2qqbar2charchar : public Sigma2qqbar2chi0chi0 {
0154 
0155 public:
0156 
0157   
0158   Sigma2qqbar2charchar(int id3chiIn, int id4chiIn, int codeIn) {
0159 
0160     
0161     id3chi   = id3chiIn;
0162     id4chi   = id4chiIn;
0163     codeSave = codeIn;
0164 
0165     
0166     id3 = (abs(id3chi) == 2) ?  1000037 :  1000024;
0167     id4 = (abs(id4chi) == 2) ? -1000037 : -1000024;
0168 
0169   }
0170 
0171   
0172   virtual void sigmaKin();
0173 
0174   
0175   virtual double sigmaHat();
0176 
0177 };
0178 
0179 
0180 
0181 
0182 
0183 class Sigma2qg2chi0squark : public Sigma2SUSY {
0184 
0185 public:
0186 
0187   
0188   Sigma2qg2chi0squark() : id3chi(), id4sq(), codeSave(), sigma0(),
0189     ui(), uj(), ti(), tj(), openFracPair() { };
0190 
0191   
0192   Sigma2qg2chi0squark(int id3chiIn, int id4sqIn, bool isUp, int codeIn) :
0193     sigma0(), ui(), uj(), ti(), tj(), openFracPair() {
0194 
0195     
0196     id3chi   = id3chiIn;
0197     id4sq    = id4sqIn;
0198     codeSave = codeIn;
0199 
0200     
0201     id3                  = 1000022;
0202     if (id3chi == 2) id3 = 1000023;
0203     if (id3chi == 3) id3 = 1000025;
0204     if (id3chi == 4) id3 = 1000035;
0205     if (id3chi == 5) id3 = 1000045;
0206     id4                  = 1000001 + (isUp ? 1 : 0);
0207     if (id4sq  == 2) id4 = 1000003 + (isUp ? 1 : 0);
0208     if (id4sq  == 3) id4 = 1000005 + (isUp ? 1 : 0);
0209     if (id4sq  == 4) id4 = 2000001 + (isUp ? 1 : 0);
0210     if (id4sq  == 5) id4 = 2000003 + (isUp ? 1 : 0);
0211     if (id4sq  == 6) id4 = 2000005 + (isUp ? 1 : 0);
0212 
0213   }
0214 
0215   
0216   virtual void initProc();
0217 
0218   
0219   virtual void sigmaKin();
0220 
0221   
0222   virtual double sigmaHat();
0223 
0224   
0225   virtual void setIdColAcol();
0226 
0227   
0228   virtual string name()    const {return nameSave;}
0229   virtual int    code()    const {return codeSave;}
0230   virtual string inFlux()  const {return "qg";}
0231   virtual int    id3Mass() const {return abs(id3);}
0232   virtual int    id4Mass() const {return abs(id4);}
0233   virtual bool   isSUSY()  const {return true;}
0234 
0235  protected:
0236 
0237   
0238   int     id3chi, id4sq, codeSave;
0239   string  nameSave;
0240 
0241   
0242   double  sigma0, ui, uj, ti, tj, openFracPair;
0243 
0244 
0245 };
0246 
0247 
0248 
0249 
0250 
0251 class Sigma2qg2charsquark : public Sigma2qg2chi0squark {
0252 
0253 public:
0254 
0255   
0256   Sigma2qg2charsquark(int id3chiIn, int id4sqIn, bool isUp, int codeIn) {
0257 
0258     
0259     id3chi   = id3chiIn;
0260     id4sq    = id4sqIn;
0261     codeSave = codeIn;
0262 
0263     
0264     id3Sav                       = 1000024;
0265     if (abs(id3chi) == 2) id3Sav = 1000037;
0266     if (isUp)             id3Sav = -id3Sav;
0267     id4Sav                       = 1000001 + (isUp ? 1 : 0);
0268     if (id4sq  == 2) id4Sav      = 1000003 + (isUp ? 1 : 0);
0269     if (id4sq  == 3) id4Sav      = 1000005 + (isUp ? 1 : 0);
0270     if (id4sq  == 4) id4Sav      = 2000001 + (isUp ? 1 : 0);
0271     if (id4sq  == 5) id4Sav      = 2000003 + (isUp ? 1 : 0);
0272     if (id4sq  == 6) id4Sav      = 2000005 + (isUp ? 1 : 0);
0273 
0274     
0275     id3 = id3Sav;
0276     id4 = id4Sav;
0277 
0278   }
0279 
0280   
0281   virtual void initProc();
0282 
0283   
0284   virtual void sigmaKin();
0285 
0286   
0287   virtual double sigmaHat();
0288 
0289   
0290   virtual void setIdColAcol();
0291 
0292  private:
0293 
0294   
0295   int id3Sav, id4Sav;
0296 
0297 };
0298 
0299 
0300 
0301 
0302 
0303 class Sigma2qq2squarksquark : public Sigma2SUSY {
0304 
0305 public:
0306 
0307   
0308   Sigma2qq2squarksquark() : id3Sav(), id4Sav(), codeSave(), iGen3(), iGen4(),
0309     nNeut(), isUD(), onlyQCD(), m2Glu(), sigmaChar(), sigmaNeut(), sigmaGlu(),
0310     sigmaCharNeut(), sigmaCharGlu(), sigmaNeutGlu(), openFracPair(), tGlu(),
0311     uGlu(), sumCt(), sumCu(), sumNt(), sumNu(), sumGt(), sumGu(),
0312                             sumInterference() {}
0313 
0314   
0315   Sigma2qq2squarksquark(int id3In, int id4In, int codeIn) : iGen3(), iGen4(),
0316     nNeut(), isUD(), onlyQCD(), m2Glu(), sigmaChar(), sigmaNeut(), sigmaGlu(),
0317     sigmaCharNeut(), sigmaCharGlu(), sigmaNeutGlu(), openFracPair(), tGlu(),
0318     uGlu(), sumCt(), sumCu(), sumNt(), sumNu(), sumGt(), sumGu(),
0319     sumInterference() {
0320 
0321     
0322     id3Sav = id3In;
0323     id4Sav = id4In;
0324     codeSave = codeIn;
0325     
0326     id3    = id3Sav;
0327     id4    = id4Sav;
0328 
0329   }
0330 
0331   
0332   virtual void initProc();
0333 
0334   
0335   virtual void sigmaKin();
0336 
0337   
0338   virtual double sigmaHat();
0339 
0340   
0341   virtual void setIdColAcol();
0342 
0343   
0344   virtual string name()    const {return nameSave;}
0345   virtual int    code()    const {return codeSave;}
0346   virtual string inFlux()  const {return "qq";}
0347   virtual int    id3Mass() const {return abs(id3Sav);}
0348   virtual int    id4Mass() const {return abs(id4Sav);}
0349   virtual bool   isSUSY()  const {return true;}
0350 
0351 private:
0352 
0353   
0354   int     id3Sav, id4Sav, codeSave, iGen3, iGen4, nNeut;
0355   string  nameSave;
0356   bool    isUD, onlyQCD;
0357 
0358   
0359   double m2Glu;
0360   vector<double> m2Neut, m2Char;
0361 
0362   
0363   double sigmaChar, sigmaNeut, sigmaGlu;
0364   double sigmaCharNeut, sigmaCharGlu, sigmaNeutGlu;
0365   double openFracPair;
0366 
0367   
0368   double tGlu, uGlu;
0369   vector<double> tNeut, uNeut, tChar, uChar;
0370   double sumCt, sumCu, sumNt, sumNu, sumGt, sumGu, sumInterference;
0371 
0372 };
0373 
0374 
0375 
0376 
0377 
0378 class Sigma2qqbar2squarkantisquark : public Sigma2SUSY {
0379 
0380 public:
0381 
0382   
0383   Sigma2qqbar2squarkantisquark() : id3Sav(), id4Sav(), codeSave(), iGen3(),
0384     iGen4(), nNeut(), isUD(), isCC(), onlyQCD(), m2Glu(), xW(), openFracPair(),
0385     sigmaEW(), sigmaGlu(), sigmaEWG(), tGlu(), uGlu(), sumColS(), sumColT(),
0386     sumInterference(){}
0387 
0388   
0389   Sigma2qqbar2squarkantisquark(int id3In, int id4In, int codeIn) : iGen3(),
0390     iGen4(), nNeut(), isUD(), isCC(), onlyQCD(), m2Glu(), xW(), openFracPair(),
0391     sigmaEW(), sigmaGlu(), sigmaEWG(), tGlu(), uGlu(), sumColS(), sumColT(),
0392     sumInterference(){
0393 
0394     
0395     
0396     id3Sav = abs(id3In);
0397     id4Sav = -abs(id4In);
0398     codeSave = codeIn;
0399     
0400     id3    = id3Sav;
0401     id4    = id4Sav;
0402 
0403   }
0404 
0405   
0406   virtual void initProc();
0407 
0408   
0409   virtual void sigmaKin();
0410 
0411   
0412   virtual double sigmaHat();
0413 
0414   
0415   virtual void setIdColAcol();
0416 
0417   
0418   virtual string name()    const {return nameSave;}
0419   virtual int    code()    const {return codeSave;}
0420   virtual string inFlux()  const {return "qq";}
0421   virtual int    id3Mass() const {return abs(id3Sav);}
0422   virtual int    id4Mass() const {return abs(id4Sav);}
0423   virtual bool   isSUSY()  const {return true;}
0424 
0425 private:
0426 
0427   
0428   int     id3Sav, id4Sav, codeSave, iGen3, iGen4, nNeut;
0429   string  nameSave;
0430   bool    isUD, isCC, onlyQCD;
0431 
0432   
0433   double m2Glu;
0434   vector<double> m2Neut;
0435 
0436   
0437   double xW;
0438   double openFracPair;
0439   double sigmaEW, sigmaGlu, sigmaEWG;
0440 
0441   
0442   double tGlu, uGlu;
0443   vector<double> tNeut, uNeut;
0444   complex propZW;
0445   double sumColS, sumColT, sumInterference;
0446 
0447 };
0448 
0449 
0450 
0451 
0452 
0453 class Sigma2gg2squarkantisquark : public Sigma2SUSY {
0454 
0455 public:
0456 
0457   
0458   Sigma2gg2squarkantisquark() : id3Sav(), id4Sav(), codeSave(), sigma(),
0459                                 m2Sq(), openFracPair() { }
0460 
0461   
0462   Sigma2gg2squarkantisquark(int id34In, int codeIn) : sigma(), m2Sq(),
0463     openFracPair() {
0464 
0465     
0466     
0467     id3Sav = abs(id34In);
0468     id4Sav = -abs(id34In);
0469     codeSave = codeIn;
0470     
0471     id3    = id3Sav;
0472     id4    = id4Sav;
0473 
0474   }
0475 
0476   
0477   virtual void initProc();
0478 
0479   
0480   virtual void sigmaKin();
0481 
0482   
0483   virtual double sigmaHat() {return sigma;}
0484 
0485   
0486   virtual void setIdColAcol();
0487 
0488   
0489   virtual string name()    const {return nameSave;}
0490   virtual int    code()    const {return codeSave;}
0491   virtual string inFlux()  const {return "gg";}
0492   virtual int    id3Mass() const {return abs(id3Sav);}
0493   virtual int    id4Mass() const {return abs(id4Sav);}
0494   virtual bool   isSUSY()  const {return true;}
0495 
0496 private:
0497 
0498   
0499   int     id3Sav, id4Sav, codeSave;
0500   string  nameSave;
0501   double sigma, m2Sq, openFracPair;
0502 
0503 
0504 };
0505 
0506 
0507 
0508 
0509 
0510 class Sigma2qg2squarkgluino : public Sigma2SUSY {
0511 
0512 public:
0513 
0514   
0515   Sigma2qg2squarkgluino() : codeSave(), sigmaA(), sigmaB(), comFacHat(),
0516     m2Glu(), m2Sq(), openFracPair() {}
0517 
0518   
0519   Sigma2qg2squarkgluino(int id3In, int codeIn) : sigmaA(), sigmaB(),
0520     comFacHat(), m2Glu(), m2Sq(), openFracPair() {
0521 
0522     
0523     codeSave = codeIn;
0524     
0525     id3    = id3In;
0526     id4    = 1000021;
0527 
0528   }
0529 
0530   
0531   virtual void initProc();
0532 
0533   
0534   virtual void sigmaKin();
0535 
0536   
0537   virtual double sigmaHat();
0538 
0539   
0540   virtual void setIdColAcol();
0541 
0542   
0543   virtual string name()    const {return nameSave;}
0544   virtual int    code()    const {return codeSave;}
0545   virtual string inFlux()  const {return "qg";}
0546   virtual int    id3Mass() const {return abs(id3);}
0547   virtual int    id4Mass() const {return 1000021;}
0548   virtual bool   isSUSY()  const {return true;}
0549 
0550 private:
0551 
0552   
0553   int     codeSave;
0554   string  nameSave;
0555   double sigmaA, sigmaB, comFacHat, m2Glu, m2Sq, openFracPair;
0556 
0557 
0558 };
0559 
0560 
0561 
0562 
0563 
0564 class Sigma2gg2gluinogluino : public Sigma2SUSY {
0565 
0566 public:
0567 
0568   
0569   Sigma2gg2gluinogluino() : sigTS(), sigUS(), sigTU(), sigSum(), sigma(),
0570                             openFracPair() { }
0571 
0572   
0573   virtual void initProc();
0574 
0575   
0576   virtual void sigmaKin();
0577 
0578   
0579   virtual double sigmaHat() {return sigma;}
0580 
0581   
0582   virtual void setIdColAcol();
0583 
0584   
0585   virtual string name()    const {return "g g -> gluino gluino";}
0586   virtual int    code()    const {return 1201;}
0587   virtual string inFlux()  const {return "gg";}
0588   virtual int    id3Mass() const {return 1000021;}
0589   virtual int    id4Mass() const {return 1000021;}
0590   virtual bool   isSUSY()  const {return true;}
0591 
0592 private:
0593 
0594   
0595   double sigTS, sigUS, sigTU, sigSum, sigma, openFracPair;
0596 
0597 
0598 };
0599 
0600 
0601 
0602 
0603 
0604 class Sigma2qqbar2gluinogluino : public Sigma2SUSY {
0605 
0606 public:
0607 
0608   
0609   Sigma2qqbar2gluinogluino() : openFracPair(), s34Avg(), sigS(), tHG(), uHG(),
0610     tHG2(), uHG2() { }
0611 
0612   
0613   virtual void initProc();
0614 
0615   
0616   virtual void sigmaKin();
0617 
0618   
0619   virtual double sigmaHat();
0620 
0621   
0622   virtual void setIdColAcol();
0623 
0624   
0625   virtual string name()    const {return "q qbar -> gluino gluino";}
0626   virtual int    code()    const {return 1202;}
0627   virtual string inFlux()  const {return "qq";}
0628   virtual int    id3Mass() const {return 1000021;}
0629   virtual int    id4Mass() const {return 1000021;}
0630   virtual bool   isSUSY()  const {return true;}
0631 
0632 private:
0633 
0634   
0635   double openFracPair, s34Avg, sigS, tHG, uHG, tHG2, uHG2;
0636 
0637 };
0638 
0639 
0640 
0641 class Sigma1qq2antisquark : public Sigma1Process {
0642 public:
0643 
0644   
0645   Sigma1qq2antisquark() : Sigma1Process(), mRes(), GammaRes(), m2Res(),
0646     sigBW(), widthOut(), codeSave(), idRes() {}
0647 
0648 
0649   Sigma1qq2antisquark(int id3In) : Sigma1Process(), mRes(), GammaRes(),
0650     m2Res(), sigBW(), widthOut(), codeSave(), idRes(id3In) {}
0651 
0652   
0653   virtual void initProc();
0654 
0655   
0656   virtual void sigmaKin();
0657 
0658   
0659   virtual double sigmaHat();
0660 
0661   
0662   virtual void setIdColAcol();
0663 
0664   
0665   virtual string name()    const {return nameSave;}
0666   virtual int    code()    const {return codeSave;}
0667   virtual string inFlux()  const {return "qq";}
0668   virtual bool   isSUSY()  const {return true;}
0669   virtual bool   isRPV()   const {return true;}
0670   virtual int    resonanceA() const {return idRes;}
0671 
0672 private:
0673 
0674   
0675   double mRes, GammaRes, m2Res, sigBW, widthOut;
0676   int    codeSave, idRes;
0677   string nameSave;
0678 
0679 };
0680 
0681 
0682 
0683 
0684 
0685 
0686 class Sigma2qqbar2chi0gluino : public Sigma2SUSY {
0687 
0688 public:
0689 
0690   
0691   Sigma2qqbar2chi0gluino() : id3chi(), id4chi(), codeSave(), sigma0(), ui(),
0692     uj(), ti(), tj(), openFracPair() {};
0693 
0694   
0695   Sigma2qqbar2chi0gluino(int id4chiIn, int codeIn) : id3chi(), sigma0(), ui(),
0696     uj(), ti(), tj(), openFracPair() {
0697 
0698     
0699     id3   = 1000021;
0700     id4chi   = id4chiIn;
0701     codeSave = codeIn;
0702 
0703 
0704     
0705     id4                  = 1000022;
0706     if (id4chi == 2) id4 = 1000023;
0707     if (id4chi == 3) id4 = 1000025;
0708     if (id4chi == 4) id4 = 1000035;
0709     if (id4chi == 5) id4 = 1000045;
0710 
0711   }
0712 
0713   
0714   virtual void initProc();
0715 
0716   
0717   virtual void sigmaKin();
0718 
0719   
0720   virtual double sigmaHat();
0721 
0722   
0723   virtual void setIdColAcol();
0724 
0725   
0726   
0727 
0728   
0729   virtual string name()    const {return nameSave;}
0730   virtual int    code()    const {return codeSave;}
0731   virtual string inFlux()  const {return "ff";}
0732   virtual int    id3Mass() const {return abs(id3);}
0733   virtual int    id4Mass() const {return abs(id4);}
0734   virtual int    resonanceA() const {return 23;}
0735   virtual bool   isSUSY()  const {return true;}
0736   virtual double getSigma0() const {return sigma0;}
0737 
0738  protected:
0739 
0740   
0741   int     id3chi, id4chi, codeSave;
0742   string  nameSave;
0743 
0744   
0745   double  sigma0, ui, uj, ti, tj, openFracPair;
0746 
0747 };
0748 
0749 
0750 
0751 
0752 
0753 class Sigma2qqbar2chargluino : public Sigma2qqbar2chi0gluino {
0754 
0755 public:
0756 
0757   
0758   Sigma2qqbar2chargluino(int id4chiIn, int codeIn) {
0759 
0760     
0761     id3   = 1000021;
0762     id4chi   = id4chiIn;
0763     codeSave = codeIn;
0764 
0765     
0766     id4 = (abs(id4chi) == 2) ? 1000037 : 1000024;
0767     if (id4chi < 0)  id4 = -id4;
0768   }
0769 
0770   
0771   virtual void initProc();
0772 
0773   
0774   virtual void sigmaKin();
0775 
0776   
0777   virtual double sigmaHat();
0778 
0779   
0780   virtual void setIdColAcol();
0781 
0782   virtual int    resonanceA() const {return 24;}
0783 
0784 protected :
0785 
0786   complex propW;
0787 
0788 };
0789 
0790 
0791 
0792 
0793 
0794 class Sigma2qqbar2sleptonantislepton : public Sigma2qqbar2squarkantisquark {
0795 
0796 public:
0797 
0798   
0799   Sigma2qqbar2sleptonantislepton() : id3Sav(), id4Sav(), codeSave(), iGen3(),
0800     iGen4(), nNeut(), isUD(), xW(), openFracPair(), sigmaEW(), sumColS(),
0801     sumColT(), sumInterference() {}
0802 
0803   
0804   Sigma2qqbar2sleptonantislepton(int id3In, int id4In, int codeIn) : iGen3(),
0805     iGen4(), nNeut(), isUD(), xW(), openFracPair(), sigmaEW(), sumColS(),
0806     sumColT(), sumInterference() {
0807 
0808     
0809     
0810     id3Sav = abs(id3In);
0811     id4Sav = -abs(id4In);
0812     codeSave = codeIn;
0813     
0814     id3    = id3Sav;
0815     id4    = id4Sav;
0816   }
0817 
0818   
0819   virtual void initProc();
0820 
0821   
0822   virtual void sigmaKin();
0823 
0824   
0825   virtual double sigmaHat();
0826 
0827   
0828   virtual void setIdColAcol();
0829 
0830   
0831   virtual string name()    const {return nameSave;}
0832   virtual int    code()    const {return codeSave;}
0833   virtual string inFlux()  const {return "qq";}
0834   virtual int    id3Mass() const {return abs(id3Sav);}
0835   virtual int    id4Mass() const {return abs(id4Sav);}
0836   virtual bool   isSUSY()  const {return true;}
0837 
0838 private:
0839 
0840   
0841   int     id3Sav, id4Sav, codeSave, iGen3, iGen4, nNeut;
0842   string  nameSave;
0843   bool    isUD;
0844 
0845   
0846   vector<double> m2Neut;
0847 
0848   
0849   double xW;
0850   double openFracPair;
0851   double sigmaEW;
0852 
0853   
0854   vector<double> tNeut, uNeut;
0855   complex propZW;
0856   double sumColS, sumColT, sumInterference;
0857 
0858 };
0859 
0860 
0861 
0862 } 
0863 
0864 #endif