FairRoot/PandaRoot
ChiGen.cxx
Go to the documentation of this file.
1 /*
2  * @author Alexey Luchinsky
3  * @author Stanislav Poslavsky (stvlpos (at) mail.ru)
4  */
5 
6 #include "ChiGen.h"
7 #include "EvtGenBase/EvtStdHep.hh"
8 #include "EvtGenBase/EvtParticle.hh"
9 #include "EvtGenBase/EvtParticleFactory.hh"
10 
14  betaZ = sqrt(1 - 4 * pow2(PROTON_MASS) / pow2(p.eCM));
15  gamma = 1 / sqrt(1 - pow2(betaZ));
16 };
17 
19  delete pchigen;
20 }
21 
23  chigen::PythiaChiGen* oldPointer = pchigen;
24  pchigen = p;
25  return oldPointer;
26 }
27 
28 void chigen::ChiGen::boost_lab_frame(Pythia8::Particle* particle) {
29  double oldPz = particle->pz();
30  particle->pz(gamma * (oldPz - betaZ * particle->e()));
31  particle->e(gamma * (particle->e() - betaZ * oldPz));
32 }
33 
34 Pythia8::Event* chigen::ChiGen::next() {
35  Pythia8::Event* event = pchigen->next();
36  if (event == NULL)
37  return NULL;
38 
39  ++counter;
40 
41  Pythia8::Particle* particle = 0;
42  for (int i = event->size() - 1; i >= 0; --i) {
43  particle = &event->at(i);
44  boost_lab_frame(particle);
45  }
46 
47  __chigen_cout__ << "Event number " << counter << "." << std::endl;
49  event->list(*chigen::ostreams::chigen_cout);
50 
51  return event;
52 }
53 
Double_t p
Definition: anasim.C:58
double betaZ
Definition: ChiGen.h:54
void ensure_chigen_is_initialized()
Int_t i
Definition: run_full.C:25
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
std::ostream * chigen_cout
double gamma
Definition: ChiGen.h:54
const int particle
int counter
Definition: ZeeAnalysis.C:59
#define PROTON_MASS
Definition: ChiGenContext.h:31
ChiGen(PartonicModel &partonicModel)
Definition: ChiGen.cxx:11
ClassImp(PndAnaContFact)
Pythia8::Event * next()
Definition: ChiGen.cxx:34
PythiaChiGen * setPythiaChiGen(PythiaChiGen *pchigen)
Definition: ChiGen.cxx:22
void boost_lab_frame(Pythia8::Particle *particle)
Definition: ChiGen.cxx:28
PythiaChiGen * pchigen
Definition: ChiGen.h:50
#define __chigen_cout__