StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StGammaPythiaEvent.h
1 // -*- mode: C++ -*-
2 
3 //
4 // Pibero Djawotho <pibero@indiana.edu>
5 // Indiana University
6 // 19 July 2007
7 //
8 
9 #ifndef ST_GAMMA_PYTHIA_EVENT_H
10 #define ST_GAMMA_PYTHIA_EVENT_H
11 
12 #include <vector>
13 using std::vector;
14 
15 #include "TLorentzVector.h"
16 #include "StSpinPool/StMCAsymMaker/StPythiaEvent.h"
17 
19 {
20 
21  public:
22 
24  StGammaPythiaEvent(const StPythiaEvent* pythia) : StPythiaEvent(*pythia) {}
25  ~StGammaPythiaEvent() {}
26 
27  virtual const char* GetCVS() const
28  {static const char cvs[] = "Tag $Name: $ $Id: StGammaPythiaEvent.h,v 1.6 2014/08/06 11:43:18 jeromel Exp $ built " __DATE__ " " __TIME__; return cvs; }
29 
30  void Clear(Option_t* option = "");
31 
32  int numberOfPrompt() const;
33  int numberOfConversion() const;
34  int numberOfHadron() const;
35  int numberOfNeutralPion() const;
36 
37  TLorentzVector& prompt(int i);
38  TLorentzVector& conversion(int i);
39  TLorentzVector& hadron(int i);
40  TLorentzVector& neutralPion(int i);
41 
42  vector<TLorentzVector>& prompt();
43  vector<TLorentzVector>& conversion();
44  vector<TLorentzVector>& hadron();
45  vector<TLorentzVector>& neutralPion();
46 
47  private:
48  vector<TLorentzVector> mPrompt;
49  vector<TLorentzVector> mConversion;
50  vector<TLorentzVector> mHadron;
51  vector<TLorentzVector> mNeutralPion;
52 
53  ClassDef(StGammaPythiaEvent, 2);
54 
55 };
56 
57 inline void StGammaPythiaEvent::Clear(Option_t* option)
58 {
59  mPrompt.clear();
60  mConversion.clear();
61  mHadron.clear();
62  mNeutralPion.clear();
63  StPythiaEvent::Clear(option);
64 }
65 
66 inline int StGammaPythiaEvent::numberOfPrompt() const { return mPrompt.size(); }
67 inline int StGammaPythiaEvent::numberOfConversion() const { return mConversion.size(); }
68 inline int StGammaPythiaEvent::numberOfHadron() const { return mHadron.size(); }
69 inline int StGammaPythiaEvent::numberOfNeutralPion() const { return mNeutralPion.size(); }
70 
71 inline TLorentzVector& StGammaPythiaEvent::prompt(int i) { return mPrompt[i]; }
72 inline TLorentzVector& StGammaPythiaEvent::conversion(int i) { return mConversion[i]; }
73 inline TLorentzVector& StGammaPythiaEvent::hadron(int i) { return mHadron[i]; }
74 inline TLorentzVector& StGammaPythiaEvent::neutralPion(int i) { return mNeutralPion[i]; }
75 
76 inline vector<TLorentzVector>& StGammaPythiaEvent::prompt() { return mPrompt; }
77 inline vector<TLorentzVector>& StGammaPythiaEvent::conversion() { return mConversion; }
78 inline vector<TLorentzVector>& StGammaPythiaEvent::hadron() { return mHadron; }
79 inline vector<TLorentzVector>& StGammaPythiaEvent::neutralPion() { return mNeutralPion; }
80 
81 #endif