ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/CompositeParticle.h
Revision: 1.10
Committed: Tue Jul 22 19:57:50 2008 UTC (16 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.9: +4 -4 lines
Log Message:
Remove std:vector implementation of RefArray and use our own TRefArray using the stack rather than the heap. For IO we use a custom streamer.

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: CompositeParticle.h,v 1.9 2008/07/16 18:56:49 loizides Exp $
3 //
4 // Composite Particle
5 //
6 // A composite particle class that holds other (daughter) particles.
7 //
8 // Authors: J.Bendavid, C.Loizides
9 //--------------------------------------------------------------------------------------------------
10
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"
17
18 namespace mithep
19 {
20 class CompositeParticle : public Particle
21 {
22 public:
23 CompositeParticle() {}
24 ~CompositeParticle() {}
25
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; //||references to daughter particles
38
39 ClassDef(CompositeParticle, 1) // Composite particle class
40 };
41 }
42 #endif