ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Particle.h
Revision: 1.15
Committed: Wed Jul 16 10:00:58 2008 UTC (16 years, 9 months ago) by bendavid
Content type: text/plain
Branch: MAIN
Changes since 1.14: +3 -3 lines
Log Message:
Made abstract base class functions pure virtual instead of return 0

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 bendavid 1.15 // $Id: Particle.h,v 1.14 2008/07/16 09:32:04 bendavid Exp $
3 loizides 1.1 //
4     // Particle
5     //
6     // Details to be worked out...
7     //
8 paus 1.7 // Authors: C.Loizides
9 loizides 1.1 //--------------------------------------------------------------------------------------------------
10    
11 loizides 1.9 #ifndef DATATREE_PARTICLE_H
12     #define DATATREE_PARTICLE_H
13    
14     #include <TMath.h>
15     #include "MitAna/DataTree/interface/DataObject.h"
16    
17 loizides 1.1 namespace mithep
18     {
19 loizides 1.3 class Particle : public DataObject
20 loizides 1.1 {
21     public:
22     Particle() {}
23 loizides 1.3 ~Particle() {}
24 loizides 1.11
25 bendavid 1.15 virtual Double_t Charge() const=0;
26 loizides 1.11 virtual Double_t E() const { return Mom().E();}
27     virtual Double_t Eta() const { return Mom().Eta();}
28     virtual Double_t Mass() const { return TMath::Sqrt(Mom().M2()); }
29 bendavid 1.15 virtual FourVector Mom() const=0;
30 loizides 1.11 virtual Double_t Phi() const { return Mom().Phi();}
31     virtual Double_t Pt() const { return Mom().Pt();}
32     virtual Double_t Px() const { return Mom().Px();}
33     virtual Double_t Py() const { return Mom().Py();}
34     virtual Double_t Pz() const { return Mom().Pz();}
35     virtual Double_t P() const { return Mom().P();}
36 loizides 1.8
37 loizides 1.13 void Print(Option_t *opt="") const;
38    
39 loizides 1.4 protected:
40 loizides 1.11
41 loizides 1.12 ClassDef(Particle, 1) // Generic particle class
42 loizides 1.1 };
43 loizides 1.8 }
44     #endif