9 #include "EvtGenBase/EvtComplex.hh"
12 assert(spin == 1 || spin == 2);
13 assert(-1 <= projection);
14 assert(2 >= projection);
26 const int state = 10 * spin + projection;
27 EvtSpinDensity matrix;
34 matrix.set(2, 2, EvtComplex(1.0, 0.0));
38 matrix.set(0, 0, EvtComplex(1.0, 0.0));
39 matrix.set(1, 1, EvtComplex(1.0, 0.0));
46 matrix.set(4, 4, EvtComplex(1.0, 0.0));
50 matrix.set(2, 2, EvtComplex(1.0, 0.0));
51 matrix.set(3, 3, EvtComplex(1.0, 0.0));
55 matrix.set(0, 0, EvtComplex(1.0, 0.0));
56 matrix.set(1, 1, EvtComplex(1.0, 0.0));
59 throw std::runtime_error(
"Not a valid polarization.");
64 double ecm,
int pdg, EvtId
evt, EvtSpinDensity spin,
double mm,
65 double particleR20,
double particleMaxSigma)
90 double Amin = pow(Xmin, -Pfct), Amax = pow(Xmax, -Pfct);
92 PhSp *= -1 / Pfct * (Amax - Amin) * pow(X, Pfct + 1);
102 double Ymax =
log(1 / X) / 2;
109 if (x1 * x2 * __S__ < mesonMass2) {
116 PhSp = PhSp * (sH - mesonMass2);
117 uH = mesonMass2 - sH - tH;
128 double X = 1.1 *
xmin;
130 double Ymax =
log(1 / xmin) / 2;
138 if (x1 * x2 * __S__ < mesonMass2) {
143 PhSp = PhSp * (sH - mesonMass2);
144 uH = mesonMass2 - sH - tH;
148 MaxSigma = 16 * 10000 *
sigma;
149 MaxSigmaBackup = MaxSigma;
void ensure_chigen_is_initialized()
friend F32vec4 exp(const F32vec4 &a)
friend F32vec4 sqrt(const F32vec4 &a)
friend F32vec4 log(const F32vec4 &a)
ColorSingletPartonicModel(double ecm, int pdgId, EvtId evtId, EvtSpinDensity spinDensity, double mesonMass, double particleR20, double particleMaxSigma)
EvtSpinDensity createSpinDensity(int spin, int projection)
ChiGenRandomEngine * random_engine