Go to the documentation of this file.00001 #ifndef SiTrackerGSMatchedRecHit2D_H
00002 #define SiTrackerGSMatchedRecHit2D_H
00003
00004 #include "DataFormats/TrackerRecHit2D/interface/GSSiTrackerRecHit2DLocalPos.h"
00005 #include "DataFormats/TrackerRecHit2D/interface/SiTrackerGSRecHit2D.h"
00006 class SiTrackerGSRecHit2D;
00007
00008 class SiTrackerGSMatchedRecHit2D : public GSSiTrackerRecHit2DLocalPos{
00009
00010 public:
00011
00012 SiTrackerGSMatchedRecHit2D(): GSSiTrackerRecHit2DLocalPos(),
00013 simhitId_(),
00014 simtrackId_(),
00015 eeId_(),
00016 cluster_(),
00017 pixelMultiplicityAlpha_(),
00018 pixelMultiplicityBeta_(),
00019 isMatched_(),
00020 componentMono_(),
00021 componentStereo_() {}
00022
00023 ~SiTrackerGSMatchedRecHit2D() {}
00024
00025 typedef edm::Ref<FastTrackerClusterCollection, FastTrackerCluster > ClusterRef;
00026 typedef edm::RefProd<FastTrackerClusterCollection> ClusterRefProd;
00027
00028
00029 SiTrackerGSMatchedRecHit2D( const LocalPoint&, const LocalError&,
00030 const DetId&,
00031 const int simhitId,
00032 const int simtrackId,
00033 const uint32_t eeId,
00034 ClusterRef const& cluster,
00035 const int pixelMultiplicityX,
00036 const int pixelMultiplicityY,
00037 const bool isMatched,
00038 const SiTrackerGSRecHit2D* rMono,
00039 const SiTrackerGSRecHit2D* rStereo
00040 );
00041
00042 SiTrackerGSMatchedRecHit2D( const LocalPoint&, const LocalError&,
00043 const DetId&,
00044 const int simhitId,
00045 const int simtrackId,
00046 const uint32_t eeId,
00047 ClusterRef const& cluster,
00048 const int pixelMultiplicityX,
00049 const int pixelMultiplicityY
00050 );
00051
00052 virtual SiTrackerGSMatchedRecHit2D * clone() const {return new SiTrackerGSMatchedRecHit2D( * this); }
00053
00054 const int& simhitId() const { return simhitId_;}
00055 const int& simtrackId() const { return simtrackId_;}
00056 const uint32_t& eeId() const { return eeId_;}
00057 const int& simMultX() const { return pixelMultiplicityAlpha_;}
00058 const int& simMultY() const { return pixelMultiplicityBeta_;}
00059 const bool& isMatched() const { return isMatched_;}
00060 const SiTrackerGSRecHit2D *monoHit() const { return &componentMono_;}
00061 const SiTrackerGSRecHit2D *stereoHit() const { return &componentStereo_;}
00062
00063 ClusterRef const& cluster() const { return cluster_;}
00064 void setClusterRef(const ClusterRef &ref) { cluster_ = ref; }
00065
00066
00067 virtual bool sharesInput( const TrackingRecHit* other, SharedInputType what) const;
00068
00069 private:
00070 int const simhitId_;
00071 int const simtrackId_;
00072 uint32_t const eeId_;
00073 ClusterRef cluster_;
00074 int const pixelMultiplicityAlpha_;
00075 int const pixelMultiplicityBeta_;
00076 bool isMatched_;
00077
00078 SiTrackerGSRecHit2D componentMono_;
00079 SiTrackerGSRecHit2D componentStereo_;
00080 };
00081
00082
00083
00084 #endif