PandaRoot
PhotosBranch.h
Go to the documentation of this file.
1 #ifndef _PhotosBranch_h_included_
2 #define _PhotosBranch_h_included_
3 
16 #include <vector>
17 #include "PhotosParticle.h"
18 using std::vector;
19 
20 namespace Photospp {
21 
22 class PhotosBranch {
23  public:
26 
28  PhotosParticle *getDecayingParticle() { return particle; }
29 
31  vector<PhotosParticle *> getMothers() { return mothers; }
32 
34  vector<PhotosParticle *> getDaughters() { return daughters; }
35 
37  vector<PhotosParticle *> getParticles();
38 
40  int getSuppressionStatus() { return suppression; }
41 
43  int getForcingStatus() { return forcing; }
44 
48 
50  void process();
51 
53  static vector<PhotosBranch *> createBranches(vector<PhotosParticle *> particles);
54 
55  private:
57  int checkSuppressionLevel() { return checkList(false); }
58 
60  int checkForcingLevel() { return checkList(true); }
61 
63  int checkList(bool forceOrSuppress);
64 
65  private:
67  int suppression;
69  int forcing;
71  PhotosParticle *particle;
73  vector<PhotosParticle *> mothers;
75  vector<PhotosParticle *> daughters;
76 };
77 
78 } // namespace Photospp
79 #endif
vector< PhotosParticle * > getDaughters()
Definition: PhotosBranch.h:34
vector< PhotosParticle * > getMothers()
Definition: PhotosBranch.h:31
PhotosParticle * getDecayingParticle()
Definition: PhotosBranch.h:28
static vector< PhotosBranch * > createBranches(vector< PhotosParticle *> particles)
Definition: Log.h:30
PhotosBranch(PhotosParticle *p)
vector< PhotosParticle * > getParticles()