CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/RecoTracker/TkSeedingLayers/interface/SeedingHitSet.h

Go to the documentation of this file.
00001 #ifndef TkSeedingLayers_SeedingHitSet_H
00002 #define TkSeedingLayers_SeedingHitSet_H
00003 
00004 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
00005 
00006 class SeedingHitSet {
00007 public:
00008 
00009   typedef  TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer;
00010 
00011   static ConstRecHitPointer nullPtr() { return ConstRecHitPointer();}
00012 
00013   SeedingHitSet(ConstRecHitPointer const & one, ConstRecHitPointer const & two) 
00014   // : theRecHits{{one,two,ConstRecHitPointer()}}
00015   {
00016     theRecHits[0]=one;
00017     theRecHits[1]=two;
00018   }
00019   SeedingHitSet(ConstRecHitPointer const & one, ConstRecHitPointer const & two, 
00020                 ConstRecHitPointer const & three) 
00021   // : theRecHits{{one,two,three}},
00022   {
00023     theRecHits[0]=one;
00024     theRecHits[1]=two;
00025     theRecHits[2]=three;
00026   }
00027   
00028   SeedingHitSet(ConstRecHitPointer const & one, ConstRecHitPointer const & two, 
00029                 ConstRecHitPointer const & three, ConstRecHitPointer const &four) 
00030   {
00031     theRecHits[0]=one;
00032     theRecHits[1]=two;
00033     theRecHits[2]=three;
00034     theRecHits[3]=four;
00035   }
00036   
00037   ~SeedingHitSet(){}
00038   
00039   
00040   unsigned int size() const { return theRecHits[3].get() ? 4 : (theRecHits[2].get() ? 3 : 2); }
00041   
00042   ConstRecHitPointer const &  get(unsigned int i) const { return theRecHits[i]; }
00043   ConstRecHitPointer const & operator[](unsigned int i) const { return theRecHits[i]; }
00044   
00045   
00046 private:
00047   ConstRecHitPointer theRecHits[4];
00048 };
00049 
00050 
00051 #endif