ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/CompositeParticle.h
Revision: 1.17
Committed: Tue Dec 9 17:46:59 2008 UTC (16 years, 4 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_006b, Mit_006a
Changes since 1.16: +6 -5 lines
Log Message:
Added ObjType to retrieve type of object.

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.17 // $Id: CompositeParticle.h,v 1.16 2008/12/03 11:35:21 loizides Exp $
3 loizides 1.1 //
4     // Composite Particle
5     //
6 loizides 1.4 // A composite particle class that holds other (daughter) particles.
7 loizides 1.1 //
8 loizides 1.2 // Authors: J.Bendavid, C.Loizides
9 loizides 1.1 //--------------------------------------------------------------------------------------------------
10    
11 loizides 1.12 #ifndef MITANA_DATATREE_COMPOSITEPARTICLE_H
12     #define MITANA_DATATREE_COMPOSITEPARTICLE_H
13 loizides 1.1
14 loizides 1.2 #include "MitAna/DataTree/interface/Types.h"
15 loizides 1.1 #include "MitAna/DataTree/interface/Particle.h"
16 loizides 1.11 #include "MitAna/DataCont/interface/RefArray.h"
17 loizides 1.1
18     namespace mithep
19     {
20     class CompositeParticle : public Particle
21     {
22     public:
23 loizides 1.10 CompositeParticle() {}
24 loizides 1.1 ~CompositeParticle() {}
25    
26 loizides 1.17 void AddDaughter(const Particle *p) { fDaughters.Add(p); }
27 loizides 1.10 Double_t Charge() const;
28 loizides 1.17 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 loizides 1.9 Bool_t HasDaughter(const Particle *p) const;
32 loizides 1.2 Bool_t HasCommonDaughter(const CompositeParticle *p) const;
33     Bool_t HasSameDaughters(const CompositeParticle *p) const;
34     FourVector Mom() const;
35 loizides 1.17 EObjType ObjType() const { return kCompositeParticle; }
36 loizides 1.5
37 loizides 1.1 protected:
38 bendavid 1.15 RefArray<Particle,1024> fDaughters; //references to daughter particles
39 loizides 1.1
40 loizides 1.2 ClassDef(CompositeParticle, 1) // Composite particle class
41 loizides 1.1 };
42     }
43     #endif