CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/RecoHI/HiMuonAlgos/interface/HICTkOuterStartingLayerFinder.h

Go to the documentation of this file.
00001 #ifndef _HICTKOUTERSTARTINGLAYERFINDER_H_ 
00002 #define _HICTKOUTERSTARTINGLAYERFINDER_H_
00003 
00004 #include "TrackingTools/DetLayers/interface/DetLayer.h"
00005 #include "TrackingTools/DetLayers/interface/BarrelDetLayer.h"
00006 #include "TrackingTools/DetLayers/interface/ForwardDetLayer.h"
00007 #include "TrackingTools/DetLayers/interface/DetLayer.h"
00008 #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
00009 #include "MagneticField/Engine/interface/MagneticField.h"
00010 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
00011 
00012 
00013 #include "RecoHI/HiMuonAlgos/interface/HICConst.h"
00014 #include <vector>
00015 
00016 
00023 namespace cms{
00024 class HICTkOuterStartingLayerFinder {
00025 public:
00026   typedef std::vector<DetLayer*>                              LayerContainer;
00027   
00028   HICTkOuterStartingLayerFinder(int&, const MagneticField * mf, const GeometricSearchTracker* th, const HICConst* );
00029 
00030   ~HICTkOuterStartingLayerFinder(){};
00031     
00032   LayerContainer startingLayers(FreeTrajectoryState& fts);
00033  
00034              
00035 private:
00036 
00037   bool findForwardLayers(const FreeTrajectoryState& fts, 
00038           std::vector<ForwardDetLayer*>& fls, LayerContainer& lc); 
00039   LayerContainer findBarrelLayers(const FreeTrajectoryState& fts, 
00040           std::vector<ForwardDetLayer*>& fls, LayerContainer& lc);      
00041   
00042   std::vector<BarrelDetLayer*>               theBarrelLayers;
00043   std::vector<ForwardDetLayer*>              forwardPosLayers;
00044   std::vector<ForwardDetLayer*>              forwardNegLayers;
00045   std::vector<DetLayer*>                     theDetLayer;
00046   int                                        NumberOfSigm;
00047   const MagneticField*                       magfield;
00048   const GeometricSearchTracker*              theTracker;
00049   const HICConst*                            theHICConst;
00050   double                                     length; 
00051 };
00052 }
00053 #endif
00054 
00055 
00056 
00057 
00058