#include <VisReco/VisDetector/interface/VisDetContent.h>
Public Member Functions | |
VisDetContent (IgState *state) | |
Initialise the CMS detector data proxy. | |
Private Member Functions | |
IG_DECLARE_STATE_ELEMENT (VisDetContent) | |
void | init (void) |
Actual (in-event-thread) initialisation: add the detector twig to the document data tree. |
Definition at line 16 of file VisDetContent.h.
VisDetContent::VisDetContent | ( | IgState * | state | ) |
Initialise the CMS detector data proxy.
Definition at line 25 of file VisDetContent.cc.
00026 : VisContent (state, s_key, MAIN_THREAD, 00027 lat::CreateCallback (this, &VisDetContent::init)) 00028 { 00029 }
VisDetContent::IG_DECLARE_STATE_ELEMENT | ( | VisDetContent | ) | [private] |
Actual (in-event-thread) initialisation: add the detector twig to the document data tree.
Definition at line 34 of file VisDetContent.cc.
References ASSERT, DBSPlugin::get(), IgTwig::lookup(), IgQtAppStatusBarService::setMessage(), and VisContent::state().
00035 { 00036 IgQtLock (); 00037 IgQtAppStatusBarService *sbar = IgQtAppStatusBarService::get (state ()); 00038 ASSERT (sbar); 00039 sbar->setMessage ("Starting CMS detector construction..."); 00040 00041 Ig3DShapeManager *shapeManager = Ig3DShapeManager::get (state ()); 00042 if (! shapeManager) shapeManager = new Ig3DShapeManager (state ()); 00043 ASSERT (shapeManager); 00044 00045 IgTwig *rootTwig = IgDocumentData::get (state ())->root ("", true); 00046 IgTwig *detTwig = 0; 00047 00048 sbar->setMessage ("Starting CMS detector construction..."); 00049 00050 detTwig = rootTwig->lookup ("CMS Event and Detector"); 00051 if (! detTwig) detTwig = new IgSimpleTwig (rootTwig, "CMS Event and Detector"); 00052 new VisDetTextureTwig (state (), detTwig, "CMSskin"); 00053 00054 IgTwig *muonDet = new IgSimpleTwig (detTwig, "Muon"); 00055 IgTwig *muonBarrel = new IgSimpleTwig (muonDet, "Barrel"); 00056 IgTwig *muonBarrelDt = new VisDetIvTwig (state (), muonBarrel, "Drift Tubes", "driftTubes-3d.gzip.iv", "driftTubes-rphi.gzip.iv", "driftTubes-rz.gzip.iv"); 00057 sbar->setMessage ("Drift Tubes..."); 00058 IgTwig *muonBarrelDtSl = new VisDetIvTwig (state (), muonBarrelDt, "Drift Tubes Superlayers", "none.iv", "driftTubes-superlayers-rphi.gzip.iv", "driftTubes-superlayers-rz.gzip.iv"); 00059 sbar->setMessage ("Drift Tubes Superlayers..."); 00060 new VisDetIvTwig (state (), muonBarrelDtSl, "Drift Tubes Superlayers (details)", "none.iv", "driftTubes-superlayer-details-rphi.gzip.iv", "none.iv"); 00061 sbar->setMessage ("Drift Tubes Superlayers (details)..."); 00062 new VisDetIvTwig (state (), muonBarrel, "RPCs", "rpc-barrel-3d.gzip.iv", "rpc-barrel-rphi.gzip.iv", "rpc-barrel-rz.gzip.iv"); 00063 sbar->setMessage ("RPCs in barrel..."); 00064 new VisDetIvTwig (state (), muonBarrel, "Absorber", "absorber-barrel-3d.gzip.iv", "absorber-barrel-rphi.gzip.iv", "absorber-barrel-rz.gzip.iv"); 00065 sbar->setMessage ("Absorber in barrel..."); 00066 00067 IgTwig *muonEndcap = new IgSimpleTwig (muonDet, "Endcap"); 00068 sbar->setMessage ("Starting CMS detector endcap construction..."); 00069 new VisDetIvTwig (state (), muonEndcap, "CSCs", "csc-3d.gzip.iv", "none.iv", "csc-rz.gzip.iv"); 00070 sbar->setMessage ("CSCs..."); 00071 new VisDetIvTwig (state (), muonEndcap, "RPCs", "rpc-endcap-3d.gzip.iv", "none.iv", "rpc-endcap-rz.gzip.iv"); 00072 sbar->setMessage ("RPCs in the endcaps..."); 00073 new VisDetIvTwig (state (), muonEndcap, "Absorber", "absorber-endcap-3d.gzip.iv", "none.iv", "absorber-endcap-rz.gzip.iv"); 00074 sbar->setMessage ("Absorber in the endcaps..."); 00075 00076 IgTwig *ecalDet = new IgSimpleTwig (detTwig, "ECAL"); 00077 sbar->setMessage ("ECAL barrel..."); 00078 new VisDetIvTwig (state (), ecalDet, "Barrel", "ecal-barrel-3d.gzip.iv", "ecal-barrel-rphi.gzip.iv", "ecal-rz.gzip.iv"); 00079 sbar->setMessage ("ECAL forward..."); 00080 new VisDetIvTwig (state (), ecalDet, "Forward", "ecal-forward-3d.gzip.iv", "none.iv", "none.iv"); 00081 sbar->setMessage ("Preshower..."); 00082 new VisDetIvTwig (state (), ecalDet, "Preshower", "ecal-preshower-3d.gzip.iv", "none.iv", "none.iv"); 00083 sbar->setMessage ("HCAL..."); 00084 00085 IgTwig *hcalDet = new IgSimpleTwig (detTwig, "HCAL"); 00086 sbar->setMessage ("HCAL barrel..."); 00087 IgTwig *hcalBarrelDet = new VisDetIvTwig (state (), hcalDet, "Barrel", "hcal-barrel-3d.gzip.iv", "hcal-barrel-rphi.gzip.iv", "hcal-barrel-rz.gzip.iv"); 00088 sbar->setMessage ("HCAL barrel layers..."); 00089 new VisDetIvTwig (state (), hcalBarrelDet, "Barrel Layers", "none.iv", "hcal-barrel-layers-rphi.gzip.iv", "hcal-barrel-layers-rz.gzip.iv"); 00090 sbar->setMessage ("HCAL barrel towers..."); 00091 new VisDetIvTwig (state (), hcalBarrelDet, "Towers", "none.iv", "hcal-barrel-towers-rphi.gzip.iv", "none.iv"); 00092 00093 sbar->setMessage ("HCAL endcap..."); 00094 new VisDetIvTwig (state (), hcalDet, "Endcap", "hcal-endcap-3d.gzip.iv", "none.iv", "hcal-endcap-rz.gzip.iv"); 00095 sbar->setMessage ("HCAL forward..."); 00096 new VisDetIvTwig (state (), hcalDet, "Forward", "hcal-forward-3d.gzip.iv", "none.iv", "hcal-forward-rz.gzip.iv"); 00097 sbar->setMessage ("HCAL outer..."); 00098 new VisDetIvTwig (state (), hcalDet, "Outer", "hcal-outer-3d.gzip.iv", "none.iv", "none.iv"); 00099 sbar->setMessage ("Tracker..."); 00100 00101 IgTwig *trackerDet = new IgSimpleTwig (detTwig, "Tracker"); 00102 new VisDetIvTwig (state (), trackerDet, "Tracker", "none.iv", "tracker-barrel-rphi.gzip.iv", "tracker-rz.gzip.iv"); 00103 sbar->setMessage ("Beampipe..."); 00104 00105 new VisDetIvTwig (state (), detTwig, "Beampipe", "beampipe.gzip.iv", "none.iv", "beampipe-rz.gzip.iv"); 00106 sbar->setMessage ("Magnet..."); 00107 new VisDetIvTwig (state (), detTwig, "Magnet", "magnet-3d.gzip.iv", "magnet-rphi.gzip.iv", "magnet-rz.gzip.iv"); 00108 00109 sbar->setMessage ("CMS detector is loaded."); 00110 }