Class Reference for E1039 Core & Analysis Software
SQMCEvent.h
Go to the documentation of this file.
1 #ifndef _SQ_MC_EVENT__H_
2 #define _SQ_MC_EVENT__H_
3 #include <iostream>
4 #include <phool/PHObject.h>
5 #include <TLorentzVector.h>
6 
8 
12 class SQMCEvent: public PHObject {
13  public:
14  virtual ~SQMCEvent() {}
15 
16  virtual void identify(std::ostream& os = std::cout) const = 0;
17  virtual void Reset() = 0;
18  virtual int isValid() const = 0;
19  virtual SQMCEvent* Clone() const = 0;
20 
21  virtual int get_process_id() const = 0;
22  virtual void set_process_id(const int a) = 0;
23 
24  virtual double get_cross_section() const = 0;
25  virtual void set_cross_section(const double a) = 0;
26 
27  virtual double get_weight() const = 0;
28  virtual void set_weight(const double a) = 0;
29 
30  virtual int get_particle_id(const int i) const = 0;
31  virtual void set_particle_id(const int i, const int a) = 0;
32 
33  virtual TLorentzVector get_particle_momentum(const int i) const = 0;
34  virtual void set_particle_momentum(const int i, const TLorentzVector a) = 0;
35 
36  protected:
37  SQMCEvent() {}
38 
40 };
41 
42 #endif // _SQ_MC_EVENT__H_
An SQ interface class to hold one simulated-event header.
Definition: SQMCEvent.h:12
ClassDef(SQMCEvent, 1)
virtual SQMCEvent * Clone() const =0
virtual void identify(std::ostream &os=std::cout) const =0
SQMCEvent()
Definition: SQMCEvent.h:37
virtual void Reset()=0
Clear Event.
virtual void set_weight(const double a)=0
virtual ~SQMCEvent()
Definition: SQMCEvent.h:14
virtual void set_particle_momentum(const int i, const TLorentzVector a)=0
virtual int isValid() const =0
isValid returns non zero if object contains vailid data
virtual int get_particle_id(const int i) const =0
Return the particle ID of the primary process, where i=0...3 for "0 + 1 -> 2 + 3".
virtual void set_particle_id(const int i, const int a)=0
virtual double get_weight() const =0
Return the event weight.
virtual TLorentzVector get_particle_momentum(const int i) const =0
Return the particle momentum of the primary process, where i=0...3 for "0 + 1 -> 2 + 3".
virtual int get_process_id() const =0
Return the primary process ID.
virtual void set_process_id(const int a)=0
virtual void set_cross_section(const double a)=0
virtual double get_cross_section() const =0
Return the cross section.