eic-smear  1.0.3
A collection of ROOT classes for Monte Carlo events and a fast-smearing code simulating detector effects for the Electron-Ion Collider task force
erhic/ParticleMC.h
Go to the documentation of this file.
1 
10 #ifndef INCLUDE_EICSMEAR_ERHIC_PARTICLEMC_H_
11 #define INCLUDE_EICSMEAR_ERHIC_PARTICLEMC_H_
12 
13 #include <string>
14 
15 #include <TLorentzVector.h>
16 #include <TRef.h>
17 #include <TVector3.h>
18 
19 #include "eicsmear/erhic/Pid.h"
21 
22 namespace erhic {
23 
24  class ParticleMCeA: public TObject {
25  public:
26  explicit ParticleMCeA() {};
27  virtual ~ParticleMCeA() {};
28 
29  // Let them all be public;
30  //added by liang to include add on particle data structure
31  Int_t charge;
32  Int_t massNum;
33  Int_t NoBam;
34  ClassDef(ParticleMCeA, 1)
37 };
38 
39 class EventMC;
44  public:
45  explicit ParticleMCbase();
49  virtual ~ParticleMCbase() {};
50 
57  virtual void Print(Option_t* = "") const;
58 
62  virtual UInt_t GetIndex() const;
63 
69  virtual UShort_t GetStatus() const;
70 
74  virtual UShort_t GetParentIndex() const;
75  virtual UShort_t GetParentIndex1() const;
76 
81  virtual UShort_t GetChild1Index() const;
82 
87  virtual UShort_t GetChildNIndex() const;
88 
93  virtual UInt_t GetNChildren() const;
94 
98  virtual Double_t GetPx() const;
99 
103  virtual Double_t GetPy() const;
104 
108  virtual Double_t GetPz() const;
109 
113  virtual Double_t GetM() const;
114 
118  virtual Double_t GetPt() const;
119 
124  virtual TVector3 GetVertex() const;
125 
130  virtual Pid GetParentId() const;
131 
135  virtual Double_t GetP() const;
136 
140  virtual Double_t GetTheta() const;
141 
145  virtual Double_t GetPhi() const;
146 
150  virtual Double_t GetRapidity() const;
151 
155  virtual Double_t GetEta() const;
156 
161  virtual Double_t GetZ() const;
162 
167  virtual Double_t GetXFeynman() const;
168 
174  virtual Double_t GetThetaVsGamma() const;
175 
180  virtual Double_t GetPtVsGamma() const;
181 
187  const EventMC* GetEvent() const;
188 
192  void SetEvent(EventMC* event);
193 
197  virtual TLorentzVector Get4Vector() const;
198 
202  virtual TLorentzVector PxPyPzE() const { return Get4Vector(); }
203 
221  virtual TLorentzVector Get4VectorInHadronBosonFrame() const;
222 
226  virtual Double_t GetE() const;
227 
228  virtual void SetE(Double_t);
229 
230  virtual void SetM(Double_t);
231 
232  virtual void SetP(Double_t);
233 
234  virtual void SetPt(Double_t);
235 
236  virtual void SetPz(Double_t);
237 
238  virtual void SetPhi(Double_t);
239 
240  virtual void SetTheta(Double_t);
241 
242  virtual void SetStatus(UShort_t);
243 
247  virtual Pid Id() const;
248 
252  virtual Pid GetPdgCode() const { return Id(); }
253 
267  virtual void ComputeDerivedQuantities();
268 
284 
290  virtual void SetIndex(int i) { I = i; }
291 
294  virtual void SetStatus(int i) { KS = i; }
295 
299  virtual void SetId(int i) { id = i; }
300 
303  virtual void SetParentIndex(int i) { orig = i; }
304 
307  virtual void SetChild1Index(int i) { daughter = i; }
308 
311  virtual void SetChildNIndex(int i) { ldaughter = i; }
312 
317  virtual void Set4Vector(const TLorentzVector&);
318 
322  virtual void SetVertex(const TVector3&);
323 
327  virtual void SetParentId(int i) { parentId = i; }
328 
329 // protected:
330 
331  UShort_t I;
332  //UShort_t KS; ///< Particle status code: see PYTHIA manual
333  //modified by liang to include negative KS values
334  Int_t KS;
335  Int_t id;
336  // Looks strange (see also access methods); keep like this for sort of
337  // backward compatibility;
338  UShort_t orig;
339  UShort_t orig1;
340  UShort_t daughter;
341  UShort_t ldaughter;
342 
343  // AYK, 2017/04/02: changed {px,py,pz} & {xv,yv,zv} variable types
344  // from Double32_t (float) to Double_t (double);
345  Double_t px;
346  Double_t py;
347  Double_t pz;
348 
349  // Reducing file size.
350  // The following variables could be removed, at the cost of increased
351  // running time to calculate them on-the-fly:
352  // p - compute from px/y/z
353  // m - accessible via PID with TDatabasePDG
354  // E - compute from p and m
355  // parentId - accessible via event record and parent index IF a
356  // persistent pointer to the containing event can be stored
357  // daughter - IF daughter particles always start immediately after this one
358  // pt - from px, py
359  // theta - from pt, pz
360  // phi - from px, py
361  // rapidity - from E, pz
362  // eta - from theta
363  // xFeynman - if event is accessible
364  // thetaGamma - duplicated in pHadronBoson
365  // ptVsGamma - duplicated in pHadronBoson
366  // phiPrf - duplicated in pHadronBoson
367 
368  Double32_t E;
369  Double32_t m;
370  Double32_t pt;
371  Double_t xv;
372  Double_t yv;
373  Double_t zv;
374 
375  // Can be deprecated if parent particle itself is available
376  Int_t parentId;
377 
378  Double32_t p;
379  Double32_t theta;
380  Double32_t phi;
381  Double32_t rapidity;
382  Double32_t eta;
383  Double32_t z;
384  Double32_t xFeynman;
386  Double32_t thetaGamma;
387  Double32_t ptVsGamma;
389  Double32_t phiPrf;
391 
393  TRef event;
394 
396  ClassDef(ParticleMCbase, 4)
397 };
398 
399 // The unfortunate consequence of adding 'eA' pointer to the ParticleMC
400 // class is that default copy ctor does not work; the easiest workaround
401 // (unless somebody would like to copy all the other variables by hand)
402 // is to offload these variables to an intermediate base class;
403 class ParticleMC : public ParticleMCbase {
404  public:
411  explicit ParticleMC(): eA(0) {};
412  explicit ParticleMC(const std::string&, bool eAflag);
413  // So this is the evil copy ctor, which is damn simple now;
415  eA = src.eA ? new ParticleMCeA(*src.eA) : 0; //orig1 = src.orig1;
416  };
417 
418  ~ParticleMC();
419 
427  virtual const ParticleMC* GetParent() const;
428 
439  virtual const ParticleMC* GetChild(UShort_t) const;
440 
447  virtual Bool_t HasChild(Int_t) const;
448 
449  // FIXME: let it be public?; NB: TRef (like for ParticleMCbase.event) is
450  // not needed here, since it is just a POD instance with a single reference;
452  //UShort_t orig1; ///< I of parent particle1
453 
454  ClassDef(ParticleMC, 2)
455 };
456 
457 inline UInt_t ParticleMCbase::GetIndex() const {
458  return I;
459 }
460 
461 inline UShort_t ParticleMCbase::GetStatus() const {
462  return KS;
463 }
464 
465 inline UShort_t ParticleMCbase::GetParentIndex() const {
466  return orig;
467 }
468 inline UShort_t ParticleMCbase::GetParentIndex1() const {
469  return orig1;
470 }
471 
472 inline UShort_t ParticleMCbase::GetChild1Index() const {
473  return daughter;
474 }
475 
476 inline UShort_t ParticleMCbase::GetChildNIndex() const {
477  return ldaughter;
478 }
479 
480 inline Double_t ParticleMCbase::GetPx() const {
481  return px;
482 }
483 
484 inline Double_t ParticleMCbase::GetPy() const {
485  return py;
486 }
487 
488 inline Double_t ParticleMCbase::GetPz() const {
489  return pz;
490 }
491 
492 inline Double_t ParticleMCbase::GetM() const {
493  return m;
494 }
495 
496 inline Double_t ParticleMCbase::GetPt() const {
497  return pt;
498 }
499 
500 inline TVector3 ParticleMCbase::GetVertex() const {
501  return TVector3(xv, yv, zv);
502 }
503 
505  return erhic::Pid(parentId);
506 }
507 
508 inline Double_t ParticleMCbase::GetP() const {
509  return p;
510 }
511 
512 inline Double_t ParticleMCbase::GetTheta() const {
513  return theta;
514 }
515 
516 inline Double_t ParticleMCbase::GetPhi() const {
517  return phi;
518 }
519 
520 inline Double_t ParticleMCbase::GetRapidity() const {
521  return rapidity;
522 }
523 
524 inline Double_t ParticleMCbase::GetEta() const {
525  return eta;
526 }
527 
528 inline Double_t ParticleMCbase::GetZ() const {
529  return z;
530 }
531 
532 inline Double_t ParticleMCbase::GetXFeynman() const {
533  return xFeynman;
534 }
535 
536 inline Double_t ParticleMCbase::GetThetaVsGamma() const {
537  return thetaGamma;
538 }
539 
540 inline Double_t ParticleMCbase::GetPtVsGamma() const {
541  return ptVsGamma;
542 }
543 
544 inline Pid ParticleMCbase::Id() const {
545  return Pid(id);
546 }
547 
548 inline UInt_t ParticleMCbase::GetNChildren() const {
549  if (0 == daughter) return 0;
550  if (0 == ldaughter) return 1;
551  return ldaughter - daughter + 1;
552 }
553 
554 inline Double_t ParticleMCbase::GetE() const {
555  return E;
556 }
557 
558 inline void ParticleMCbase::SetE(Double_t e) {
559  E = e;
560 }
561 
562 inline void ParticleMCbase::SetM(Double_t mass) {
563  m = mass;
564 }
565 
566 inline void ParticleMCbase::SetP(Double_t momentum) {
567  p = momentum;
568 }
569 
570 inline void ParticleMCbase::SetPt(Double_t momentum) {
571  pt = momentum;
572 }
573 
574 inline void ParticleMCbase::SetPz(Double_t momentum) {
575  pz = momentum;
576 }
577 
578 inline void ParticleMCbase::SetPhi(Double_t value) {
579  phi = value;
580 }
581 
582 inline void ParticleMCbase::SetTheta(Double_t value) {
583  theta = value;
584 }
585 
586 inline void ParticleMCbase::SetStatus(UShort_t status) {
587  KS = status;
588 }
589 
590 } // namespace erhic
591 
592 #endif // INCLUDE_EICSMEAR_ERHIC_PARTICLEMC_H_
erhic::ParticleMC::~ParticleMC
~ParticleMC()
Definition: erhic/ParticleMC.cxx:120
erhic::ParticleMCbase::GetRapidity
virtual Double_t GetRapidity() const
Returns the rapidity.
Definition: erhic/ParticleMC.h:520
erhic::ParticleMCbase::SetE
virtual void SetE(Double_t)
Definition: erhic/ParticleMC.h:558
Pid.h
erhic::ParticleMCbase::KS
Int_t KS
Particle status code: see PYTHIA manual.
Definition: erhic/ParticleMC.h:334
erhic::ParticleMCeA
Definition: erhic/ParticleMC.h:24
erhic::ParticleMCbase::GetPdgCode
virtual Pid GetPdgCode() const
Returns the ID of the particle.
Definition: erhic/ParticleMC.h:252
erhic::ParticleMCbase::GetChild1Index
virtual UShort_t GetChild1Index() const
Returns the index of this particle's first child particle.
Definition: erhic/ParticleMC.h:472
erhic::ParticleMCbase::Id
virtual Pid Id() const
Returns the ID of the particle.
Definition: erhic/ParticleMC.h:544
erhic::ParticleMC::GetParent
virtual const ParticleMC * GetParent() const
Returns a pointer to the parent of this particle.
Definition: erhic/ParticleMC.cxx:228
erhic::ParticleMCeA::NoBam
Int_t NoBam
0, 2 create in hard collisions not affected by INC: 0 inside nucleus, 2 outside nucleus;
Definition: erhic/ParticleMC.h:33
erhic::ParticleMCbase::GetVertex
virtual TVector3 GetVertex() const
Returns the origin point of the particle (cm).
Definition: erhic/ParticleMC.h:500
erhic::ParticleMCbase::GetP
virtual Double_t GetP() const
Returns the total momentum (GeV).
Definition: erhic/ParticleMC.h:508
erhic::ParticleMCbase::ptVsGamma
Double32_t ptVsGamma
pt w.r.t.
Definition: erhic/ParticleMC.h:388
erhic::Pid
Particle identity.
Definition: Pid.h:22
erhic
Definition: EventDis.cxx:14
erhic::ParticleMCbase::yv
Double_t yv
y coordinate of particle production vertex
Definition: erhic/ParticleMC.h:372
erhic::ParticleMCbase::~ParticleMCbase
virtual ~ParticleMCbase()
Destructor.
Definition: erhic/ParticleMC.h:49
erhic::ParticleMCbase::phiPrf
Double32_t phiPrf
Azimuthal angle around virtual photon in hadron beam rest frame.
Definition: erhic/ParticleMC.h:390
erhic::ParticleMCbase::Get4Vector
virtual TLorentzVector Get4Vector() const
Returns the (E,p) 4-vector in the lab frame.
Definition: erhic/ParticleMC.cxx:199
erhic::ParticleMCbase::GetPt
virtual Double_t GetPt() const
Returns momentum transverse to the beam direction.
Definition: erhic/ParticleMC.h:496
erhic::ParticleMC::ParticleMC
ParticleMC()
Default constructor.
Definition: erhic/ParticleMC.h:411
erhic::ParticleMCbase::GetPy
virtual Double_t GetPy() const
Returns the y component of 3-momentum.
Definition: erhic/ParticleMC.h:484
erhic::ParticleMCbase::py
Double_t py
y component of particle momentum
Definition: erhic/ParticleMC.h:346
erhic::ParticleMCbase::GetXFeynman
virtual Double_t GetXFeynman() const
Returns Feynman-x.
Definition: erhic/ParticleMC.h:532
erhic::ParticleMCbase::GetNChildren
virtual UInt_t GetNChildren() const
Returns the number of children of this particle.
Definition: erhic/ParticleMC.h:548
erhic::ParticleMCbase::SetPhi
virtual void SetPhi(Double_t)
Definition: erhic/ParticleMC.h:578
erhic::ParticleMCbase::pz
Double_t pz
z component of particle momentum
Definition: erhic/ParticleMC.h:347
erhic::ParticleMCbase::ParticleMCbase
ParticleMCbase()
Definition: erhic/ParticleMC.cxx:55
erhic::ParticleMCbase::GetThetaVsGamma
virtual Double_t GetThetaVsGamma() const
Returns the angle with respect to the exchange boson.
Definition: erhic/ParticleMC.h:536
erhic::ParticleMCbase::GetParentId
virtual Pid GetParentId() const
Returns the identity information of this particle's parent.
Definition: erhic/ParticleMC.h:504
erhic::ParticleMCbase::SetParentIndex
virtual void SetParentIndex(int i)
Sets the index of this particle's parent if it has one.
Definition: erhic/ParticleMC.h:303
erhic::ParticleMCbase
A particle produced by a Monte Carlo generator.
Definition: erhic/ParticleMC.h:43
erhic::ParticleMCbase::thetaGamma
Double32_t thetaGamma
Angle between particle and the exchange boson in the hadron beam rest frame.
Definition: erhic/ParticleMC.h:386
erhic::ParticleMCeA::ParticleMCeA
ParticleMCeA()
Definition: erhic/ParticleMC.h:26
erhic::ParticleMCbase::SetM
virtual void SetM(Double_t)
Definition: erhic/ParticleMC.h:562
erhic::ParticleMCbase::m
Double32_t m
Invariant mass of particle.
Definition: erhic/ParticleMC.h:369
erhic::ParticleMCbase::rapidity
Double32_t rapidity
Rapidity of particle.
Definition: erhic/ParticleMC.h:381
erhic::ParticleMCeA::~ParticleMCeA
virtual ~ParticleMCeA()
Definition: erhic/ParticleMC.h:27
erhic::ParticleMCbase::orig
UShort_t orig
I of parent particle.
Definition: erhic/ParticleMC.h:338
erhic::ParticleMCbase::SetChildNIndex
virtual void SetChildNIndex(int i)
Sets the index of this particle's last child.
Definition: erhic/ParticleMC.h:311
erhic::ParticleMCbase::SetStatus
virtual void SetStatus(int i)
Sets the status code of the particle (generally final state particles are given status == 1.
Definition: erhic/ParticleMC.h:294
erhic::ParticleMCbase::daughter
UShort_t daughter
I of first child particle.
Definition: erhic/ParticleMC.h:340
erhic::ParticleMCbase::SetId
virtual void SetId(int i)
Sets the ID of the particle.
Definition: erhic/ParticleMC.h:299
erhic::ParticleMCbase::GetStatus
virtual UShort_t GetStatus() const
Returns the status of the particle.
Definition: erhic/ParticleMC.h:461
erhic::ParticleMC::HasChild
virtual Bool_t HasChild(Int_t) const
Returns true if n in the range [0, N), where N is the number of children of this particle.
Definition: erhic/ParticleMC.cxx:240
erhic::ParticleMCbase::parentId
Int_t parentId
PDG code of this particle's parent.
Definition: erhic/ParticleMC.h:376
erhic::ParticleMC::ParticleMC
ParticleMC(const ParticleMC &src)
Definition: erhic/ParticleMC.h:414
erhic::ParticleMCbase::orig1
UShort_t orig1
I of parent particle1.
Definition: erhic/ParticleMC.h:339
erhic::ParticleMCbase::GetParentIndex
virtual UShort_t GetParentIndex() const
Returns the index of this particle's parent in an event.
Definition: erhic/ParticleMC.h:465
erhic::ParticleMCbase::p
Double32_t p
Total momentum of particle.
Definition: erhic/ParticleMC.h:378
erhic::ParticleMCbase::GetPx
virtual Double_t GetPx() const
Returns the x component of 3-momentum.
Definition: erhic/ParticleMC.h:480
erhic::ParticleMCbase::GetEta
virtual Double_t GetEta() const
Returns the pseudorapidity.
Definition: erhic/ParticleMC.h:524
erhic::ParticleMCbase::Get4VectorInHadronBosonFrame
virtual TLorentzVector Get4VectorInHadronBosonFrame() const
Returns the (E,p) 4-vector in the hadron-boson frame.
Definition: erhic/ParticleMC.cxx:252
erhic::ParticleMC::eA
ParticleMCeA * eA
Definition: erhic/ParticleMC.h:451
VirtualParticle.h
erhic::ParticleMCbase::GetM
virtual Double_t GetM() const
Returns invariant mass (GeV/c2).
Definition: erhic/ParticleMC.h:492
erhic::ParticleMCbase::SetStatus
virtual void SetStatus(UShort_t)
Definition: erhic/ParticleMC.h:586
erhic::VirtualParticle
Abstract base class for a general particle.
Definition: VirtualParticle.h:23
erhic::ParticleMCbase::SetPz
virtual void SetPz(Double_t)
Definition: erhic/ParticleMC.h:574
erhic::ParticleMCbase::GetIndex
virtual UInt_t GetIndex() const
Returns the particle index in an event, in the range [1, N].
Definition: erhic/ParticleMC.h:457
erhic::ParticleMCbase::GetPtVsGamma
virtual Double_t GetPtVsGamma() const
Returns the pT with respect to the exchange boson.
Definition: erhic/ParticleMC.h:540
erhic::ParticleMCbase::ComputeEventDependentQuantities
virtual void ComputeEventDependentQuantities(EventMC &)
Sets quantities that depend on the properties of the event or associations of one particle with anoth...
Definition: erhic/ParticleMC.cxx:155
erhic::ParticleMCbase::E
Double32_t E
Energy of particle.
Definition: erhic/ParticleMC.h:368
erhic::ParticleMCbase::Print
virtual void Print(Option_t *="") const
Print the contents of Particle to standard output.
Definition: erhic/ParticleMC.cxx:126
erhic::ParticleMCbase::SetTheta
virtual void SetTheta(Double_t)
Definition: erhic/ParticleMC.h:582
erhic::ParticleMC::GetChild
virtual const ParticleMC * GetChild(UShort_t) const
Returns a pointer to the nth child particle of this particle, where n is in the range [0,...
Definition: erhic/ParticleMC.cxx:207
erhic::ParticleMCbase::xFeynman
Double32_t xFeynman
Feynman x = pz/(2sqrt(s))
Definition: erhic/ParticleMC.h:385
erhic::ParticleMCbase::GetPhi
virtual Double_t GetPhi() const
Returns the polar angle in the range [0, 2pi] radians.
Definition: erhic/ParticleMC.h:516
erhic::ParticleMC
Definition: erhic/ParticleMC.h:403
erhic::ParticleMCbase::GetTheta
virtual Double_t GetTheta() const
Returns the polar angle in the range [0, pi] radians.
Definition: erhic/ParticleMC.h:512
erhic::ParticleMCeA::massNum
Int_t massNum
Definition: erhic/ParticleMC.h:32
erhic::ParticleMCbase::SetChild1Index
virtual void SetChild1Index(int i)
Sets the index of this particle's first child.
Definition: erhic/ParticleMC.h:307
erhic::ParticleMCbase::px
Double_t px
x component of particle momentum
Definition: erhic/ParticleMC.h:345
erhic::ParticleMCbase::id
Int_t id
PDG particle code.
Definition: erhic/ParticleMC.h:335
erhic::ParticleMCbase::SetParentId
virtual void SetParentId(int i)
Sets the ID of this particle's parent.
Definition: erhic/ParticleMC.h:327
erhic::ParticleMCbase::SetVertex
virtual void SetVertex(const TVector3 &)
Sets the origin coordinates.
Definition: erhic/ParticleMC.cxx:322
erhic::ParticleMCbase::GetEvent
const EventMC * GetEvent() const
Returns a pointer to the event containing this particle.
Definition: erhic/ParticleMC.cxx:203
erhic::ParticleMCbase::zv
Double_t zv
z coordinate of particle production vertex
Definition: erhic/ParticleMC.h:373
erhic::ParticleMCbase::ldaughter
UShort_t ldaughter
I of last child particle.
Definition: erhic/ParticleMC.h:341
erhic::ParticleMCbase::pt
Double32_t pt
Transverse momentum of particle.
Definition: erhic/ParticleMC.h:370
erhic::ParticleMCbase::ComputeDerivedQuantities
virtual void ComputeDerivedQuantities()
Sets quantities derived from the four-momentum (E, px, py, pz), namely.
Definition: erhic/ParticleMC.cxx:133
erhic::ParticleMCbase::GetZ
virtual Double_t GetZ() const
Returns the variable z.
Definition: erhic/ParticleMC.h:528
erhic::ParticleMCbase::theta
Double32_t theta
Polar angle.
Definition: erhic/ParticleMC.h:379
erhic::ParticleMCbase::I
UShort_t I
Particle index in event.
Definition: erhic/ParticleMC.h:331
erhic::ParticleMCbase::SetPt
virtual void SetPt(Double_t)
Definition: erhic/ParticleMC.h:570
erhic::ParticleMCbase::GetPz
virtual Double_t GetPz() const
Returns the z component of 3-momentum.
Definition: erhic/ParticleMC.h:488
erhic::ParticleMCbase::SetIndex
virtual void SetIndex(int i)
Sets the index of the particle i.e.
Definition: erhic/ParticleMC.h:290
erhic::ParticleMCbase::GetE
virtual Double_t GetE() const
Returns the energy of the particle in the lab frame.
Definition: erhic/ParticleMC.h:554
erhic::ParticleMCbase::PxPyPzE
virtual TLorentzVector PxPyPzE() const
Returns the (E,p) 4-vector in the lab frame.
Definition: erhic/ParticleMC.h:202
erhic::ParticleMCbase::GetParentIndex1
virtual UShort_t GetParentIndex1() const
Definition: erhic/ParticleMC.h:468
erhic::ParticleMCbase::SetP
virtual void SetP(Double_t)
Definition: erhic/ParticleMC.h:566
erhic::ParticleMCeA::charge
Int_t charge
Definition: erhic/ParticleMC.h:27
erhic::ParticleMCbase::GetChildNIndex
virtual UShort_t GetChildNIndex() const
Returns the index of this particle's last child particle.
Definition: erhic/ParticleMC.h:476
erhic::ParticleMCbase::xv
Double_t xv
x coordinate of particle production vertex
Definition: erhic/ParticleMC.h:371
erhic::ParticleMCbase::eta
Double32_t eta
Pseudorapidity of particle.
Definition: erhic/ParticleMC.h:382
erhic::ParticleMCbase::SetEvent
void SetEvent(EventMC *event)
Set the event with which to associate this particle.
Definition: erhic/ParticleMC.cxx:303
erhic::ParticleMCbase::Set4Vector
virtual void Set4Vector(const TLorentzVector &)
Sets the four-momentum of the particle.
Definition: erhic/ParticleMC.cxx:307
erhic::ParticleMCbase::z
Double32_t z
Fraction of virtual photon energy carried by particle.
Definition: erhic/ParticleMC.h:383
erhic::ParticleMCbase::event
TRef event
Persistent reference to the event containing this particle.
Definition: erhic/ParticleMC.h:393
erhic::ParticleMCbase::phi
Double32_t phi
Azimuthal angle.
Definition: erhic/ParticleMC.h:380
erhic::EventMC
Abstract base class for DIS Monte Carlo events.
Definition: erhic/EventMC.h:30