ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitEdm/DataFormats/interface/StablePart.h
Revision: 1.2
Committed: Tue Jul 29 22:52:54 2008 UTC (16 years, 9 months ago) by bendavid
Content type: text/plain
Branch: MAIN
Changes since 1.1: +1 -2 lines
Log Message:
Added proper edm references to producers

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 bendavid 1.2 // $Id: StablePart.h,v 1.1 2008/07/29 13:16:22 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     // Author List: Ch.Paus
11     //--------------------------------------------------------------------------------------------------
12    
13     #ifndef MITEDM_STABLEPART_H
14     #define MITEDM_STABLEPART_H
15    
16     #include <iostream>
17     #include <cmath>
18    
19     #include "MitEdm/DataFormats/interface/BasePart.h"
20    
21     namespace mitedm
22     {
23     class BasePartAction;
24     class StablePart : public BasePart
25     {
26     public:
27     // Constructors
28     StablePart();
29     StablePart(int pid);
30     StablePart(int pid, double mass);
31     // Destructor
32     virtual ~StablePart() {}
33    
34     // Override recursion helper method
35     virtual void doAction (BasePartAction *Action) const;
36     // General printing method
37     virtual void print (std::ostream &os = std::cout) const;
38    
39     //----------------------------------------------------------------------------------------------
40     // Acessors
41     //----------------------------------------------------------------------------------------------
42     // Getting
43     int stat () const { return stat_; }
44     int hits () const { return hits_; }
45     // Track parameters and errors
46     double phi0 () const { return phi0_; }
47     double phi0Err () const { return phi0Err_; }
48     //double d0 (TVector3 *vtx) const;
49     double d0Raw () const { return d0_; }
50     double d0Err () const { return d0Err_; }
51     double pt () const { return fabs(pt_); }
52     double ptErr () const { return ptErr_; }
53     //double z0 (TVector3 *vtx) const;
54     double z0Raw () const { return z0_; }
55     double z0Err () const { return z0Err_; }
56     double cotT () const { return cotT_; }
57     double cotTErr () const { return cotTErr_; }
58     // Setting
59     void setStat (int v) { stat_ = v; }
60     void setHits (int v) { hits_ = v; }
61     void setPhi0 (float v) { phi0_ = v; }
62     void setPhi0Err (float v) { phi0Err_ = v; }
63     void setD0Raw (float v) { d0_ = v; }
64     void setD0Err (float v) { d0Err_ = v; }
65     void setPt (float v) { pt_ = v; }
66     void setPtErr (float v) { ptErr_ = v; }
67     void setZ0Raw (float v) { z0_ = v; }
68     void setZ0Err (float v) { z0Err_ = v; }
69     void setCotT (float v) { cotT_ = v; }
70     void setCotTErr (float v) { cotTErr_ = v; }
71    
72     int charge () const { return (pt_>0) ? 1 : -1; }
73    
74     private:
75     // Constant which is store in the file
76     int hits_; // Mostly Hit informations
77     int stat_; // Storage for various interesting things
78     float phi0_,phi0Err_; // Follow track parameters/uncertainties
79     float d0_, d0Err_;
80     float pt_, ptErr_;
81     float z0_, z0Err_;
82     float cotT_,cotTErr_;
83    
84     //ClassDef(StablePart, 1)
85     };
86     }
87     #endif