CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/Validation/EcalClusters/interface/EcalSimPhotonMCTruth.h

Go to the documentation of this file.
00001 #ifndef EcalSimPhotonMCTruth_h
00002 #define EcalSimPhotonMCTruth_h
00003 
00004 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00005 #include "SimDataFormats/Track/interface/SimTrack.h"
00006 #include <vector>
00007 
00016 class EcalSimPhotonMCTruth {
00017  public:
00018   EcalSimPhotonMCTruth() : isAConversion_(0),thePhoton_(0.,0.,0.,0.), theR_(0.), theZ_(0.), 
00019     theConvVertex_(0.,0.,0.,0.) {};
00020   
00021   EcalSimPhotonMCTruth(math::XYZTLorentzVectorD v) : thePhoton_(v) {};
00022   
00023   EcalSimPhotonMCTruth(int isAConversion,math::XYZTLorentzVectorD v, float rconv, float zconv,
00024                        math::XYZTLorentzVectorD convVertex, math::XYZTLorentzVectorD pV, std::vector<const SimTrack *> tracks );
00025   
00026   math::XYZTLorentzVectorD primaryVertex() const {return thePrimaryVertex_;}
00027   int isAConversion() const { return isAConversion_;}
00028   float radius() const {return theR_;}
00029   float z() const {return theZ_;}
00030   math::XYZTLorentzVectorD fourMomentum() const {return thePhoton_;}
00031   math::XYZTLorentzVectorD vertex() const {return theConvVertex_;}
00032   std::vector<const SimTrack *> simTracks() const {return tracks_;} 
00033   
00034  private:
00035   
00036   int isAConversion_;
00037   math::XYZTLorentzVectorD thePhoton_;
00038   float theR_;
00039   float theZ_;
00040   math::XYZTLorentzVectorD theConvVertex_;
00041   math::XYZTLorentzVectorD thePrimaryVertex_;
00042   std::vector<const SimTrack *> tracks_;
00043 
00044 };
00045 
00046 #endif
00047