StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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 
23 class PhotosBranch
24 {
25 public:
28 
30  PhotosParticle* getDecayingParticle() { return particle; }
31 
33  vector<PhotosParticle *> getMothers() { return mothers; }
34 
36  vector<PhotosParticle *> getDaughters() { return daughters; }
37 
39  vector<PhotosParticle *> getParticles();
40 
42  int getSuppressionStatus() { return suppression; }
43 
45  int getForcingStatus() { return forcing; }
46 
50 
52  void process();
53 
55  static vector<PhotosBranch *> createBranches(vector<PhotosParticle *> particles);
56 private:
58  int checkSuppressionLevel() { return checkList(false); }
59 
61  int checkForcingLevel() { return checkList(true); }
62 
64  int checkList(bool forceOrSuppress);
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
static vector< PhotosBranch * > createBranches(vector< PhotosParticle * > particles)
vector< PhotosParticle * > getDaughters()
Definition: PhotosBranch.h:36
vector< PhotosParticle * > getMothers()
Definition: PhotosBranch.h:33
PhotosParticle * getDecayingParticle()
Definition: PhotosBranch.h:30
Abstract base class for particle in the event. This class also handles boosting.
vector< PhotosParticle * > getParticles()
PhotosBranch(PhotosParticle *p)
Single branching point.