3 |
|
// |
4 |
|
// Composite Particle |
5 |
|
// |
6 |
< |
// Details to be worked out... |
7 |
< |
// |
8 |
< |
// Authors: J.Bendavid... |
6 |
> |
// A composite particle class that holds other (daughter) particles. |
7 |
|
// |
8 |
+ |
// Authors: J.Bendavid, C.Loizides |
9 |
|
//-------------------------------------------------------------------------------------------------- |
10 |
|
|
12 |
– |
|
11 |
|
#ifndef DATATREE_COMPOSITEPARTICLE_H |
12 |
|
#define DATATREE_COMPOSITEPARTICLE_H |
13 |
|
|
14 |
+ |
#include "MitAna/DataTree/interface/Types.h" |
15 |
|
#include "MitAna/DataTree/interface/RefArray.h" |
16 |
|
#include "MitAna/DataTree/interface/Particle.h" |
18 |
– |
#include "MitAna/DataTree/interface/Types.h" |
17 |
|
|
18 |
|
namespace mithep |
19 |
|
{ |
23 |
|
CompositeParticle() {} |
24 |
|
~CompositeParticle() {} |
25 |
|
|
26 |
< |
const RefArray<Particle> *GetDaughters() const { return &fDaughters; } |
27 |
< |
|
28 |
< |
void AddDaughter(Particle* p) { fDaughters.Add(p); } |
29 |
< |
virtual Int_t Charge() const; |
30 |
< |
Bool_t HasDaughter(const Particle* p) const; |
31 |
< |
Bool_t HasSameDaughters(CompositeParticle* p) const; |
32 |
< |
Bool_t HasCommonDaughter(CompositeParticle* p) const; |
33 |
< |
virtual FourVector Mom() const; |
34 |
< |
|
26 |
> |
void AddDaughter(Particle *p) { fDaughters.Add(p); } |
27 |
> |
Double_t Charge() const; |
28 |
> |
void Clear(Option_t *opt="") { fDaughters.Clear(opt); } |
29 |
> |
const Particle *Daughter(UInt_t i) const { return fDaughters.At(i); } |
30 |
> |
UInt_t NDaughters() const { return fDaughters.Entries(); } |
31 |
> |
Bool_t HasDaughter(const Particle *p) const; |
32 |
> |
Bool_t HasCommonDaughter(const CompositeParticle *p) const; |
33 |
> |
Bool_t HasSameDaughters(const CompositeParticle *p) const; |
34 |
> |
FourVector Mom() const; |
35 |
> |
|
36 |
|
protected: |
37 |
< |
RefArray<Particle> fDaughters; // |
37 |
> |
RefArray<Particle> fDaughters; //||references to daughter particles |
38 |
|
|
39 |
< |
ClassDef(CompositeParticle, 1) |
39 |
> |
ClassDef(CompositeParticle, 1) // Composite particle class |
40 |
|
}; |
41 |
|
} |
42 |
|
#endif |