72 const Float_t g2rad = TMath::Pi() / 180.;
80 }
else if (
mMode == 1) {
81 Float_t theta = 2. * TMath::ATan(TMath::Exp(-c1));
82 sint = TMath::Sin(theta);
83 cost = TMath::Cos(theta);
85 cost = TMath::Cos(c1 * g2rad);
86 sint = TMath::Sin(c1 * g2rad);
89 cosp = TMath::Cos(c2 * g2rad);
90 sinp = TMath::Sin(c2 * g2rad);
92 pmom[0] = cosp * sint;
93 pmom[1] = sinp * sint;
97 orig[0] = orig[1] = orig[2] = 0;
104 orig[0] += pmom[0] *
t;
105 orig[1] += pmom[1] *
t;
106 orig[2] += pmom[2] *
t;
107 if (TMath::Abs(orig[2]) >
mZMax) {
111 Float_t polar[3] = {0., 0., 0.};
112 primGen->
AddTrack(0, pmom[0], pmom[1], pmom[2], orig[0], orig[1], orig[2], -1,
true, 0, 0, 1.);
125 Double_t hnorm, sz,
t,
t1, t2, t3, sr;
128 const Float_t kSmall2 = kSmall * kSmall;
134 hnorm = TMath::Sqrt(1 / (
d[0] *
d[0] +
d[1] *
d[1] +
d[2] *
d[2]));
139 sz = (
z -
x[2]) /
d[2];
140 }
else if (
d[2] < -kSmall) {
141 sz = -(
z +
x[2]) /
d[2];
146 t1 =
d[0] *
d[0] +
d[1] *
d[1];
150 t2 =
x[0] *
d[0] +
x[1] *
d[1];
151 t3 =
x[0] *
x[0] +
x[1] *
x[1];
153 sr = (-t2 + TMath::Sqrt(TMath::Max(t2 * t2 - (t3 -
r *
r) *
t1, 0.))) /
t1;
155 t = TMath::Min(sz, sr);
Timeframe settings Average distance in cm of events merged into Randomize distance around average distance of merged events Simulate correct bunch interactions instead of placing only the average number of events A value[n] sets TFlen for[n] collisions in Number of bunches per trainsort Number of bunch trains Instantaneous interaction rate Do not simulate border Total number of collisions to be placed in the interior of all time Do not select random but walk over array of events in stride steps h Event generator settings h configStandalone Use CPU for GPU Force usage of the specified GPU device no CPU fallback Continue processing after an error First event to Number of events to Number of iterations to Number of iterations to Number of initial iterations excluded from const char e
Timeframe settings Average distance in cm of events merged into Randomize distance around average distance of merged events Simulate correct bunch interactions instead of placing only the average number of events A value[n] sets TFlen for[n] collisions in Number of bunches per trainsort Number of bunch trains Instantaneous interaction rate Do not simulate border Total number of collisions to be placed in the interior of all time Do not select random but walk over array of events in stride steps h Event generator settings h configStandalone Use CPU for GPU Force usage of the specified GPU device no CPU fallback Continue processing after an error First event to Number of events to Number of iterations to Number of iterations to Number of initial iterations excluded from const char Directory with events to Events directory is and not inside events d
virtual void AddTrack(Int_t pdgid, Double_t px, Double_t py, Double_t pz, Double_t vx, Double_t vy, Double_t vz, Int_t parent=-1, Bool_t wanttracking=true, Double_t e=-9e9, Double_t tof=0., Double_t weight=0., TMCProcess proc=kPPrimary)
static Float_t PropagateCylinder(Float_t *x, Float_t *v, Float_t r, Float_t z)
Bool_t ReadEvent(FairPrimaryGenerator *primGen) override
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat s1
GLdouble GLdouble GLdouble z
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat t1
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...