"MarlinReco"  1.16.0
tkmcbank.h
1 #ifndef Tk_MC_Bank_h
2 #define Tk_MC_Bank_h 1
3 
4 #include<vector>
5 #include <cfortran.h>
6 
7 
8 
9 class Tk_MC_Bank
10 {
11 
12  public:
13  Tk_MC_Bank();
14  ~Tk_MC_Bank();
15  void clear();
16  // this class uses PTRTYPE which is defined in cpointer.h as of type long
17  void add_mc(float, float, float, float, float, float, float, int, int, int, int);
18  void remove_mc(int);
19  void setPX(float PX, int mc){mc_bank[mc].px = PX;};
20  void setPY(float PY, int mc){mc_bank[mc].py = PY;};
21  void setPZ(float PZ, int mc){mc_bank[mc].pz = PZ;};
22  void setEnergy(float E, int mc){mc_bank[mc].energy = E;};
23  void setX(float X, int mc){mc_bank[mc].x = X;};
24  void setY(float Y, int mc){mc_bank[mc].y = Y;};
25  void setZ(float Z, int mc){mc_bank[mc].z = Z;};
26  void setGEANT_PID(int GEANT_PID, int mc){mc_bank[mc].geant_pid = GEANT_PID;};
27  void setMCTRACK(int MCTRACK, int mc){mc_bank[mc].mctrack = MCTRACK;};
28  void setNHITS(int NHITS, int mc){mc_bank[mc].nhits = NHITS;};
29  void setHEPEVT_NUM(int HEPEVT_NUM, int mc){mc_bank[mc].hepevt_num = HEPEVT_NUM;};
30 
31 
32  int size(){return mc_bank.size();};
33  float getPX(int i){return mc_bank[i].px;};
34  float getPY(int i){return mc_bank[i].py;};
35  float getPZ(int i){return mc_bank[i].pz;};
36  float getEnergy(int i){return mc_bank[i].energy;};
37  float getX(int i){return mc_bank[i].x;};
38  float getY(int i){return mc_bank[i].y;};
39  float getZ(int i){return mc_bank[i].z;};
40  int getGEANT_PID(int i){return mc_bank[i].geant_pid;};
41  int getMCTRACK(int i){return mc_bank[i].mctrack;};
42  int getNHITS(int i){return mc_bank[i].nhits;};
43  int getHEPEVT_NUM(int i){return mc_bank[i].hepevt_num;};
44 
45  private:
46 
47 struct tk_mc
48 {
49  float px;
50  float py;
51  float pz;
52  float energy;
53  float x;
54  float y;
55  float z;
56  int geant_pid;
57  int mctrack;
58  int nhits;
59  int hepevt_num;
60 };
61 
62  std::vector <tk_mc> mc_bank;
63 
64 
65 };
66 
67 // Global pointer to the Tk_MC_Bank structure which is defined in Tk_MC_Bank.cc
68 extern Tk_MC_Bank * TkMCBank;
69 
70 
71 #endif
Definition: tkmcbank.h:9