CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/RecoTracker/TkNavigation/interface/CosmicNavigationSchool.h

Go to the documentation of this file.
00001 #ifndef TkNavigation_CosmicNavigationSchool_H
00002 #define TkNavigation_CosmicNavigationSchool_H
00003 
00004 #include "RecoTracker/TkNavigation/interface/SimpleNavigationSchool.h"
00005 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
00006 
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 
00009 #include <vector>
00010 
00011 //class FakeDetLayer;
00012 
00013 
00017 class CosmicNavigationSchool : public SimpleNavigationSchool {
00018 public:
00019   CosmicNavigationSchool(const GeometricSearchTracker* theTracker,
00020                          const MagneticField* field);
00021   ~CosmicNavigationSchool(){ cleanMemory();}
00022 
00023   class CosmicNavigationSchoolConfiguration{
00024   public:
00025     CosmicNavigationSchoolConfiguration() : noPXB(false), noPXF(false), noTOB(false), noTIB(false), noTEC(false), noTID(false) , self(false), allSelf(false) {}
00026     CosmicNavigationSchoolConfiguration(const edm::ParameterSet conf);
00027     bool noPXB;
00028     bool noPXF;
00029     bool noTOB;
00030     bool noTIB;
00031     bool noTEC;
00032     bool noTID;
00033     
00034     bool self;
00035     bool allSelf;
00036   };
00037 
00038   void build(const GeometricSearchTracker* theTracker,
00039              const MagneticField* field,
00040              const CosmicNavigationSchoolConfiguration conf);
00041  
00042 protected:
00043   CosmicNavigationSchool(){}
00044 private:
00045 
00046   //FakeDetLayer* theFakeDetLayer;
00047   void linkBarrelLayers( SymmetricLayerFinder& symFinder);
00048   //void linkForwardLayers( SymmetricLayerFinder& symFinder); 
00049   void establishInverseRelations( SymmetricLayerFinder& symFinder );
00050   void buildAdditionalBarrelLinks();
00051   void buildAdditionalForwardLinks(SymmetricLayerFinder& symFinder);
00052 };
00053 
00054 #endif // CosmicNavigationSchool_H