Belle II Software  release-06-01-15
PhotosBranch.h
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 
29 
31  vector<PhotosParticle*> getMothers() { return mothers; }
32 
34  vector<PhotosParticle*> getDaughters() { return daughters; }
35 
37  vector<PhotosParticle*> getParticles();
38 
41 
43  int getForcingStatus() { return forcing; }
44 
48 
50  void process();
51 
53  static vector<PhotosBranch*> createBranches(vector<PhotosParticle*> particles);
54  private:
56  int checkSuppressionLevel() { return checkList(false); }
57 
59  int checkForcingLevel() { return checkList(true); }
60 
62  int checkList(bool forceOrSuppress);
63  private:
67  int forcing;
71  vector<PhotosParticle*> mothers;
73  vector<PhotosParticle*> daughters;
74  };
75 
76 } // namespace Photospp
77 #endif
static vector< PhotosBranch * > createBranches(vector< PhotosParticle * > particles)
Create branches from particles list.
Definition: PhotosBranch.cc:93
bool checkMomentumConservation()
Checks momentum conservation of decaying particle.
Definition: PhotosBranch.cc:86
void process()
Process single branch.
Definition: PhotosBranch.cc:61
PhotosParticle * getDecayingParticle()
Return decaying particle.
Definition: PhotosBranch.h:28
int checkSuppressionLevel()
Checks if branching is suppressed by PHOTOS.
Definition: PhotosBranch.h:56
int checkList(bool forceOrSuppress)
Algorithm used for suppression/forcing check.
int checkForcingLevel()
Checks if branching is forced by PHOTOS.
Definition: PhotosBranch.h:59
vector< PhotosParticle * > getMothers()
Get list of mothers.
Definition: PhotosBranch.h:31
vector< PhotosParticle * > daughters
List of daughters.
Definition: PhotosBranch.h:73
int getForcingStatus()
Check if branch is forced.
Definition: PhotosBranch.h:43
int getSuppressionStatus()
Check if branch is suppressed.
Definition: PhotosBranch.h:40
int forcing
State of branching forcing.
Definition: PhotosBranch.h:67
PhotosParticle * particle
Decaying particle.
Definition: PhotosBranch.h:69
vector< PhotosParticle * > getParticles()
Get list of all particles used by branch.
Definition: PhotosBranch.cc:78
vector< PhotosParticle * > mothers
List of mothers
Definition: PhotosBranch.h:71
int suppression
State of branching suppression.
Definition: PhotosBranch.h:65
vector< PhotosParticle * > getDaughters()
Get list of daughters.
Definition: PhotosBranch.h:34
PhotosBranch(PhotosParticle *p)
Create branch out of decaying particle.
Definition: PhotosBranch.cc:14