CMS 3D CMS Logo

VisCuTkGeometryTwig.h

Go to the documentation of this file.
00001 #ifndef VIS_CUTRACKER_VIS_TK_GEOMETRY_TWIG_H
00002 # define VIS_CUTRACKER_VIS_TK_GEOMETRY_TWIG_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 # include "Iguana/Framework/interface/IgTwig.h"
00006 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h"
00007 # include "FWCore/Framework/interface/ESHandle.h"
00008 # include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00009 # include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00010 # include "VisReco/VisCustomTracker/interface/VisCuTracker.h"
00011 # include "CalibTracker/Records/interface/SiStripDetCablingRcd.h"
00012 # include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h"
00013 # include "VisFramework/VisConfigService/interface/VisConfigurationService.h"
00014 # include "VisFramework/VisFrameworkBase/interface/VisSelectedTrackNumber.h"
00015 
00016 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00017 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00018 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00019 namespace edm 
00020 {
00021     class Event;
00022     class EventSetup;
00023 }
00024 namespace reco
00025 {
00026     class Track;
00027 }
00028 class VisCuTkBuilder;
00029 class VisCuCmsTracker;
00030 class VisCuTkMapWindow;
00031 class VisCuTkSlWindow;
00032 class VisCuTrackerDigi;
00033 class VisCuTrackerCluster;
00034 class VisCuTrackerRecHit;
00035 class VisCuTrackerSimHit;
00036 class VisCuTkModule;
00037 class SoSeparator;
00038 
00039 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00040 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00041 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00042 
00043 class VisCuTkGeometryTwig : public VisQueuedTwig, public VisCuTracker
00044 {
00045 public:
00046     VisCuTkGeometryTwig (IgState *state, IgTwig *parent, const std::string &name = "");
00047     // implicit copy constructor
00048     // implicit assignment operator
00049     // implicit destructor
00050     virtual ~VisCuTkGeometryTwig (void);
00051 
00052     virtual void                onNewEvent (const edm::Event &event,
00053                                             const edm::EventSetup &eventSetup);
00054     using VisQueuedTwig::update;
00055     virtual void                update (IgTextRep *rep);
00056     virtual void                update (Ig3DRep *rep);
00057     virtual void                update (IgRPhiRep *rep);
00058     virtual void                update (IgRZRep *rep);
00059     virtual void                configChanged (void); 
00060 
00061 private:
00062     const edm::ParameterSet *pset;
00063     edm::ESHandle<TrackerGeometry>  m_pDD;
00064     edm::ESHandle<SiStripDetCabling> m_SiStripDetCabling; 
00065     TrackerGeometry * m_TrackerGeometry;
00066     unsigned long long m_cacheID_geo;
00067     unsigned long long m_cacheID_cab;
00068     std::string                 m_name;
00069     bool                        m_done;
00070     SoSeparator                *m_3dDet;
00071     SoSeparator                *m_rzDet;
00072     SoSeparator                *m_rphiDet;
00073     SoSeparator                *digi3d;
00074     SoSeparator                *cluster3d;
00075     SoSeparator                *rechit3d;
00076     SoSeparator                *simhit3d;
00077     bool                        m_3Ddone;
00078     bool                        alreadySelected;
00079     bool                        m_rzdone;
00080     bool                        m_rphidone;
00081     VisCuCmsTracker * tr;
00082     VisCuTkBuilder * tkMap;
00083     VisCuTkMapWindow *winTkMap;
00084     VisCuTkSlWindow *winTkSl;
00085     VisSelectedTrackNumber m_track;
00086     std::vector<VisCuTkModule *>selectedModules;
00087     VisCuTrackerDigi *digidraw;
00088     VisCuTrackerCluster *clusterdraw;
00089     VisCuTrackerRecHit *rechitdraw;
00090     VisCuTrackerSimHit *simhitdraw;
00091     int previous_event;
00092     std::vector<reco::Track>    m_tracks;
00093     std::vector<std::vector<VisCuTkModule * > >  m_trackModules; 
00094     void selectCrossedModules();
00095     void storeTracks(const edm::Event &event);
00096     std::string crossedModulesOnly;
00097     std::string accessingDb;
00098     bool autoIntegrate;
00099     std::string signalToIntegrate;
00100     std::string trackProducerName;
00101     std::string trackLabelName;
00102 };
00103 
00104 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00105 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00106 
00107 #endif // VIS_CUTRACKER_VIS_TK_GEOMETRY_TWIG_H

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