FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | List of all members
chigen::ChiGen Class Reference

#include <ChiGen.h>

Public Member Functions

 ChiGen (PartonicModel &partonicModel)
 
 ~ChiGen ()
 
Pythia8::Event * next ()
 
PythiaChiGensetPythiaChiGen (PythiaChiGen *pchigen)
 
 ClassDef (ChiGen, 1)
 

Private Member Functions

void boost_lab_frame (Pythia8::Particle *particle)
 

Private Attributes

unsigned long long counter
 
PythiaChiGenpchigen
 
double betaZ
 
double gamma
 

Detailed Description

Definition at line 14 of file ChiGen.h.

Constructor & Destructor Documentation

chigen::ChiGen::ChiGen ( chigen::PartonicModel p)

Constructs ChiGen from given partonic model

Parameters
partonicmodel

Definition at line 11 of file ChiGen.cxx.

References betaZ, chigen::PartonicModel::eCM, chigen::ensure_chigen_is_initialized(), gamma, pchigen, PROTON_MASS, and sqrt().

11  : counter(0) {
14  betaZ = sqrt(1 - 4 * pow2(PROTON_MASS) / pow2(p.eCM));
15  gamma = 1 / sqrt(1 - pow2(betaZ));
16 };
double betaZ
Definition: ChiGen.h:54
void ensure_chigen_is_initialized()
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
unsigned long long counter
Definition: ChiGen.h:48
double gamma
Definition: ChiGen.h:54
#define PROTON_MASS
Definition: ChiGenContext.h:31
PythiaChiGen * pchigen
Definition: ChiGen.h:50
chigen::ChiGen::~ChiGen ( )

Definition at line 18 of file ChiGen.cxx.

18  {
19  delete pchigen;
20 }
PythiaChiGen * pchigen
Definition: ChiGen.h:50

Member Function Documentation

void chigen::ChiGen::boost_lab_frame ( Pythia8::Particle *  particle)
private

Boost particle

Definition at line 28 of file ChiGen.cxx.

28  {
29  double oldPz = particle->pz();
30  particle->pz(gamma * (oldPz - betaZ * particle->e()));
31  particle->e(gamma * (particle->e() - betaZ * oldPz));
32 }
double betaZ
Definition: ChiGen.h:54
double gamma
Definition: ChiGen.h:54
const int particle
chigen::ChiGen::ClassDef ( ChiGen  ,
 
)
Pythia8::Event * chigen::ChiGen::next ( )

Simulates next event and return pointer to it or NULL if no more events can be generated

Returns
pointer to simulated event or NULL if no more events can be generated

Definition at line 34 of file ChiGen.cxx.

References __chigen_cout__, chigen::ostreams::chigen_cout, counter, i, particle, and chigen::ostreams::verbose_mode.

34  {
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 }
Int_t i
Definition: run_full.C:25
std::ostream * chigen_cout
unsigned long long counter
Definition: ChiGen.h:48
const int particle
void boost_lab_frame(Pythia8::Particle *particle)
Definition: ChiGen.cxx:28
PythiaChiGen * pchigen
Definition: ChiGen.h:50
#define __chigen_cout__
chigen::PythiaChiGen * chigen::ChiGen::setPythiaChiGen ( chigen::PythiaChiGen p)

Set the internal PythiaChiGen instance by specified one, and return the old one

Parameters
pchigen
Returns
old instance

Definition at line 22 of file ChiGen.cxx.

References p.

22  {
23  chigen::PythiaChiGen* oldPointer = pchigen;
24  pchigen = p;
25  return oldPointer;
26 }
Double_t p
Definition: anasim.C:58
PythiaChiGen * pchigen
Definition: ChiGen.h:50

Member Data Documentation

double chigen::ChiGen::betaZ
private

boost velocity

Definition at line 54 of file ChiGen.h.

Referenced by ChiGen().

unsigned long long chigen::ChiGen::counter
private

Events counter

Definition at line 48 of file ChiGen.h.

double chigen::ChiGen::gamma
private

Definition at line 54 of file ChiGen.h.

Referenced by ChiGen().

PythiaChiGen* chigen::ChiGen::pchigen
private

Definition at line 50 of file ChiGen.h.

Referenced by ChiGen().


The documentation for this class was generated from the following files: