ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/CompositeParticle.h
Revision: 1.3
Committed: Wed Jul 2 21:46:01 2008 UTC (16 years, 10 months ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.2: +5 -3 lines
Log Message:
Reset size after every add, costly but only done at filling time.

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: CompositeParticle.h,v 1.2 2008/07/01 08:56:49 loizides Exp $
3 //
4 // Composite Particle
5 //
6 // Details to be worked out...
7 //
8 // Authors: J.Bendavid, C.Loizides
9 //
10 //--------------------------------------------------------------------------------------------------
11
12 #ifndef DATATREE_COMPOSITEPARTICLE_H
13 #define DATATREE_COMPOSITEPARTICLE_H
14
15 #include "MitAna/DataTree/interface/Types.h"
16 #include "MitAna/DataTree/interface/RefArray.h"
17 #include "MitAna/DataTree/interface/Particle.h"
18
19 namespace mithep
20 {
21 class CompositeParticle : public Particle
22 {
23 public:
24 CompositeParticle() { SetBit(14); }
25 ~CompositeParticle() {}
26
27 void AddDaughter(Particle *p) { fDaughters.Add(p); fDaughters.Trim(); }
28 Int_t Charge() const;
29 const Particle *GetDaughter(UInt_t i) const { return fDaughters.At(i); }
30 UInt_t GetNDaughters() const { return fDaughters.GetEntries(); }
31 Bool_t HasCommonDaughter(const CompositeParticle *p) const;
32 Bool_t HasSameDaughters(const CompositeParticle *p) const;
33 Bool_t IsDaughter(const Particle *p) const;
34 FourVector Mom() const;
35
36 protected:
37 void Clear(Option_t */*option*/="") { fDaughters.Reset(); }
38
39 RefArray<Particle> fDaughters; //references to daughter particles
40
41 ClassDef(CompositeParticle, 1) // Composite particle class
42 };
43 }
44 #endif