ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitEdm/DataFormats/interface/StablePart.h
Revision: 1.7
Committed: Mon Dec 1 17:25:58 2008 UTC (16 years, 5 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_008pre2, Mit_008pre1, Mit_006b, Mit_006a
Changes since 1.6: +7 -6 lines
Log Message:
Use edm::Ptr<reco::Track> for mitedm::StablePart

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 bendavid 1.7 // $Id: StablePart.h,v 1.6 2008/09/27 05:48:24 loizides Exp $
3 loizides 1.1 //
4     // StablePart
5     //
6     // Implementation of a stable particle class for use in general analyses in CMS. The contents of a
7     // stable particle is basically its link to the track it refers to. This will be hopefully at some
8     // point a useful and good implementation. See the double dispatcher doAction(MyAction).
9     //
10 loizides 1.5 // Authors: C.Paus
11 loizides 1.1 //--------------------------------------------------------------------------------------------------
12    
13 loizides 1.6 #ifndef MITEDM_DATAFORMATS_STABLEPART_H
14     #define MITEDM_DATAFORMATS_STABLEPART_H
15 loizides 1.1
16     #include <iostream>
17     #include <cmath>
18 bendavid 1.7 #include "MitEdm/DataFormats/interface/Types.h"
19 loizides 1.1 #include "MitEdm/DataFormats/interface/BasePart.h"
20 bendavid 1.3 #include "DataFormats/TrackReco/interface/TrackFwd.h"
21     #include "DataFormats/TrackReco/interface/Track.h"
22 loizides 1.1
23     namespace mitedm
24     {
25     class BasePartAction;
26     class StablePart : public BasePart
27     {
28 loizides 1.6 public:
29     StablePart() {}
30 bendavid 1.7 StablePart(int pid, const mitedm::TrackPtr &trk) : BasePart(pid), track_(trk) {}
31 loizides 1.6 virtual ~StablePart() {}
32 loizides 1.1
33 loizides 1.6 // Override recursion helper method
34     void doAction(BasePartAction *Action) const;
35     // General printing method
36     void print(std::ostream &os = std::cout) const;
37    
38     // Accessors
39 bendavid 1.7 const reco::Track *track() const { return track_.get(); }
40     const mitedm::TrackPtr &trackPtr() const { return track_; }
41     double charge() const { return track()->charge(); }
42 bendavid 1.3
43 loizides 1.6 private:
44 bendavid 1.7 mitedm::TrackPtr track_;
45 loizides 1.1 };
46     }
47     #endif