CMS 3D CMS Logo

VisTkSimContent.cc

Go to the documentation of this file.
00001 //<<<<<< INCLUDES                                                       >>>>>>
00002 
00003 #include "VisSimulation/VisSimTracker/interface/VisTkSimContent.h"
00004 #include "VisSimulation/VisSimTracker/interface/VisTkSimHitTwig.h"
00005 #include "VisSimulation/VisSimTracker/interface/VisTkSimTrackTwig.h"
00006 #include "VisFramework/VisFrameworkBase/interface/VisExceptionService.h"
00007 #include "VisFramework/VisFrameworkBase/interface/debug.h"
00008 #include "Iguana/Studio/interface/IgDocumentData.h"
00009 #include "Iguana/Framework/interface/IgTwig.h"
00010 #include "Iguana/Studio/interface/IgQtLock.h"
00011 #include <classlib/utils/Callback.h>
00012 
00013 //<<<<<< PRIVATE DEFINES                                                >>>>>>
00014 //<<<<<< PRIVATE CONSTANTS                                              >>>>>>
00015 //<<<<<< PRIVATE TYPES                                                  >>>>>>
00016 //<<<<<< PRIVATE VARIABLE DEFINITIONS                                   >>>>>>
00017 //<<<<<< PUBLIC VARIABLE DEFINITIONS                                    >>>>>>
00018 //<<<<<< CLASS STRUCTURE INITIALIZATION                                 >>>>>>
00019 
00020 IG_DEFINE_STATE_ELEMENT (VisTkSimContent, "Data/Simulation/Tracker");
00021 
00022 //<<<<<< PRIVATE FUNCTION DEFINITIONS                                   >>>>>>
00023 //<<<<<< PUBLIC FUNCTION DEFINITIONS                                    >>>>>>
00024 //<<<<<< MEMBER FUNCTION DEFINITIONS                                    >>>>>>
00025 
00027 VisTkSimContent::VisTkSimContent (IgState *state)
00028     : VisContent (state, s_key, MAIN_THREAD,
00029                   lat::CreateCallback (this, &VisTkSimContent::init))
00030 {
00031 }
00032 
00035 void
00036 VisTkSimContent::init (void)
00037 {    
00038     LOG (0, trace, LFfwvis, "VisTkSimContent::init()\n");
00039     
00040     IgQtLock ();
00041     IgTwig *rootTwig = IgDocumentData::get (state ())->root ();
00042     IgTwig *topTwig = 0;
00043     IgTwig *eventTwig = 0;
00044     IgTwig *trackerEvent = 0;
00045 
00046     topTwig = rootTwig->lookup ("CMS Event and Detector");
00047     if (!topTwig) topTwig = new IgSimpleTwig (rootTwig, "CMS Event and Detector");
00048 
00049     eventTwig = topTwig->lookup ("CMS Event");
00050     if (! eventTwig) eventTwig = new IgSimpleTwig (topTwig, "CMS Event");
00051     
00052     trackerEvent = IgDocumentData::get (state ())->find ("Tracker Event");
00053     if (! trackerEvent) trackerEvent = new IgSimpleTwig (eventTwig, "Tracker Event");
00054 
00055     new VisTkSimHitTwig (state (), trackerEvent, "Tracker Simhits");
00056     VisTkSimTrackTwig *tracks = new VisTkSimTrackTwig (state (), trackerEvent, "Sim Tracks");
00057 
00058     VisExceptionService *exService = VisExceptionService::get (state ());
00059     if (! exService)
00060     {
00061         exService = new VisExceptionService (state ());
00062     }
00063     tracks->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00064     tracks->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00065     tracks->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00066     tracks->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00067 }

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