CMS 3D CMS Logo

VisCuTkBuilder.h

Go to the documentation of this file.
00001 #ifndef VisCuTkBuilder_H
00002 #define VisCuTkBuilder_H
00003 
00004 #include "VisFramework/VisConfigService/interface/VisConfigurationService.h"
00005 class VisCuTkModule;
00006 class VisCuCmsTracker;
00007 class EventSetup;
00008 class TrackerGeometry;
00009 class VisCuTkBuilder
00010 {
00011  public:
00012    void create();
00013    VisCuCmsTracker* tracker();
00014    void fill(const TrackerGeometry* m_pDD);
00015    void fill(const edm::ESHandle<TrackerGeometry>  pDD); //@@ only for backword compatibility
00016    int layerno(int subdet,int leftright,int layer){
00017         if(subdet==6&&leftright==1)return(10-layer);
00018         if(subdet==6&&leftright==2)return(layer+21);
00019         if(subdet==4&&leftright==1)return(4-layer+9);
00020         if(subdet==4&&leftright==2)return(layer+18);
00021         if(subdet==2&&leftright==1)return(4-layer+12);
00022         if(subdet==2&&leftright==2)return(layer+15);
00023         if(subdet==1)return(layer+30);
00024         if(subdet==3)return(layer+33);
00025         if(subdet==5)return(layer+37);
00026    return -1;
00027    }
00028 
00029  private:
00030     VisCuTkModule* mod;
00031     VisCuCmsTracker* theTracker;
00032     int idetector, ipart, ilayer, iring, module;
00033     void getPos(int pix_sil,int fow_bar,int layer,int ring,int nmod,int &idetector,int &ipart,int &ilayer, int &iring,int &module);
00034     float oldz;
00035     float posx, posy;
00036     int ntotmod;
00037     const edm::ParameterSet *pset;
00038     void buildMap(const TrackerGeometry* pDD);
00039     typedef std::map<int, VisCuTkModule*> moduleMap;
00040     moduleMap mmap;
00041     std::string infilename;
00042 };
00043 #endif

Generated on Tue Jun 9 17:50:11 2009 for CMSSW by  doxygen 1.5.4