ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/BaseVertex.h
Revision: 1.6
Committed: Wed Mar 18 15:44:31 2009 UTC (16 years, 1 month ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.5: +9 -8 lines
Log Message:
Introduced Double32_t [0,0,14] consistently. Updated class descriptions.

File Contents

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.6 // $Id: BaseVertex.h,v 1.5 2009/03/03 17:04:09 loizides Exp $
3 bendavid 1.1 //
4     // BaseVertex
5     //
6 loizides 1.3 // Base vertex class implemented as holding a 3d vector as a point in space with fit information.
7 bendavid 1.1 //
8     // Authors: J.Bendavid
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITANA_DATATREE_BASEVERTEX_H
12     #define MITANA_DATATREE_BASEVERTEX_H
13    
14 loizides 1.6 #include "MitCommon/DataFormats/interface/Vect3.h"
15 bendavid 1.1 #include "MitAna/DataTree/interface/DataObject.h"
16    
17     namespace mithep
18     {
19     class BaseVertex : public DataObject
20     {
21     public:
22     BaseVertex() :
23 loizides 1.5 fXErr(0), fYErr(0), fZErr(0) {}
24 bendavid 1.1 BaseVertex(Double_t x, Double_t y, Double_t z) :
25 loizides 1.5 fPosition(x,y,z), fXErr(0), fYErr(0), fZErr(0) {}
26 bendavid 1.1 BaseVertex(Double_t x, Double_t y, Double_t z, Double_t xErr, Double_t yErr, Double_t zErr) :
27     fPosition(x,y,z), fXErr(xErr), fYErr(yErr), fZErr(zErr) {}
28     BaseVertex(const ThreeVector &pos) :
29 loizides 1.5 fPosition(pos), fXErr(0), fYErr(0), fZErr(0) {}
30 bendavid 1.1
31 loizides 1.3 EObjType ObjType() const { return kBaseVertex; }
32 loizides 1.6 // Double_t Phi() const { return Position().Phi(); }
33     const ThreeVector Position() const { return fPosition.V(); }
34     // Double_t Rho() const { return fPosition.Rho(); }
35 bendavid 1.1 Double_t X() const { return fPosition.X(); }
36 loizides 1.3 Double_t XErr() const { return fXErr; }
37 bendavid 1.1 Double_t Y() const { return fPosition.Y(); }
38 loizides 1.3 Double_t YErr() const { return fYErr; }
39 bendavid 1.1 Double_t Z() const { return fPosition.Z(); }
40 loizides 1.3 Double_t ZErr() const { return fZErr; }
41 bendavid 1.1 void SetErrors(Double_t xErr, Double_t yErr, Double_t zErr);
42     void SetPosition(const ThreeVector &pos) { fPosition = pos; }
43     void SetPosition(Double_t x, Double_t y, Double_t z);
44    
45     protected:
46 loizides 1.6 Vect3 fPosition; //point in space
47     Double32_t fXErr; //[0,0,14]error in x
48     Double32_t fYErr; //[0,0,14]error in y
49     Double32_t fZErr; //[0,0,14]error in z
50 bendavid 1.1
51 loizides 1.3 ClassDef(BaseVertex, 1) // Base vertex class
52 bendavid 1.1 };
53     }
54    
55     //--------------------------------------------------------------------------------------------------
56     inline void mithep::BaseVertex::SetErrors(Double_t xErr, Double_t yErr, Double_t zErr)
57     {
58     // Set uncertainties on vertex position.
59    
60     fXErr = xErr;
61     fYErr = yErr;
62     fZErr = zErr;
63     }
64    
65     //--------------------------------------------------------------------------------------------------
66     inline void mithep::BaseVertex::SetPosition(Double_t x, Double_t y, Double_t z)
67     {
68     // Set vertex position.
69    
70     fPosition.SetXYZ(x,y,z);
71     }
72     #endif