CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes

fireworks::Context Class Reference

#include <Context.h>

List of all members.

Public Member Functions

FWColorManagercolorManager () const
CmsShowCommoncommonPrefs () const
 Context (FWModelChangeManager *iCM, FWSelectionManager *iSM, FWEventItemsManager *iEM, FWColorManager *iColorM, FWJobMetadataManager *iJMDM)
void deleteEveElements ()
const FWEventItemsManagereventItemsManager () const
FWBeamSpotgetBeamSpot () const
TEveCaloDataHist * getCaloData () const
TEveCaloDataVec * getCaloDataHF () const
FWMagFieldgetField () const
const FWGeometrygetGeom () const
float getMaxEnergyInEvent (bool isEt) const
TEveTrackPropagator * getMuonTrackPropagator () const
TEveTrackPropagator * getTrackerTrackPropagator () const
TEveTrackPropagator * getTrackPropagator () const
void initEveElements ()
FWJobMetadataManagermetadataManager () const
FWModelChangeManagermodelChangeManager () const
void resetMaxEtAndEnergy () const
FWSelectionManagerselectionManager () const
void setGeom (const FWGeometry *x)
void voteMaxEtAndEnergy (float Et, float energy) const
virtual ~Context ()

Static Public Member Functions

static double caloMaxEta ()
static float caloR1 (bool offset=true)
static float caloR2 (bool offset=true)
static float caloTransAngle ()
static float caloTransEta ()
static float caloZ1 (bool offset=true)
static float caloZ2 (bool offset=true)

Private Member Functions

 Context (const Context &)
const Contextoperator= (const Context &)

Private Attributes

FWBeamSpotm_beamSpot
TEveCaloDataHist * m_caloData
TEveCaloDataVec * m_caloDataHF
FWModelChangeManagerm_changeManager
FWColorManagerm_colorManager
CmsShowCommonm_commonPrefs
FWEventItemsManagerm_eventItemsManager
const FWGeometrym_geom
FWMagFieldm_magField
float m_maxEnergy
float m_maxEt
FWJobMetadataManagerm_metadataManager
TEveTrackPropagator * m_muonPropagator
TEveTrackPropagator * m_propagator
FWSelectionManagerm_selectionManager
TEveTrackPropagator * m_trackerPropagator

Static Private Attributes

static const float s_caloOffR = 10
static const float s_caloOffZ = s_caloOffR/tan(s_caloTransAngle)
static const float s_caloR = s_caloZ*tan(s_caloTransAngle)
static const float s_caloTransAngle = 2*atan(exp(-s_caloTransEta))
static const float s_caloTransEta = 1.479
static const float s_caloZ = 290

Detailed Description

Definition at line 42 of file Context.h.


Constructor & Destructor Documentation

Context::Context ( FWModelChangeManager iCM,
FWSelectionManager iSM,
FWEventItemsManager iEM,
FWColorManager iColorM,
FWJobMetadataManager iJMDM 
)

Definition at line 62 of file Context.cc.

References m_commonPrefs.

Context::~Context ( ) [virtual]

Definition at line 90 of file Context.cc.

References m_commonPrefs.

{
   delete m_commonPrefs;
}
fireworks::Context::Context ( const Context ) [private]

Member Function Documentation

double Context::caloMaxEta ( ) [static]
float Context::caloR1 ( bool  offset = true) [static]
float Context::caloR2 ( bool  offset = true) [static]
float Context::caloTransAngle ( ) [static]
float Context::caloTransEta ( ) [static]
float Context::caloZ1 ( bool  offset = true) [static]
float Context::caloZ2 ( bool  offset = true) [static]
FWColorManager* fireworks::Context::colorManager ( ) const [inline]
CmsShowCommon * Context::commonPrefs ( ) const
void Context::deleteEveElements ( )

Definition at line 168 of file Context.cc.

{
   // AMT: delete of eve-elements disabled to prevent crash on exit.
   // A lot of eve objects use this elements (e.g. TEveCalo, TEveTrack ...)
   // If want to have explicit delete make sure order of destruction
   // is correct: this should be called after all scenes are destroyed.
}
const FWEventItemsManager* fireworks::Context::eventItemsManager ( ) const [inline]
FWBeamSpot* fireworks::Context::getBeamSpot ( ) const [inline]
TEveCaloDataHist* fireworks::Context::getCaloData ( ) const [inline]
TEveCaloDataVec* fireworks::Context::getCaloDataHF ( ) const [inline]

Definition at line 82 of file Context.h.

References m_caloDataHF.

Referenced by FWHFTowerProxyBuilderBase::setCaloData(), and FWLegoViewBase::setContext().

{ return m_caloDataHF; }
FWMagField* fireworks::Context::getField ( ) const [inline]

Definition at line 78 of file Context.h.

References m_magField.

Referenced by FWTrackProxyBuilder::build(), FWMuonBuilder::buildMuon(), and CmsShowMainBase::draw().

{ return m_magField; }
const FWGeometry* fireworks::Context::getGeom ( ) const [inline]
float Context::getMaxEnergyInEvent ( bool  isEt) const

Definition at line 201 of file Context.cc.

References m_maxEnergy, and m_maxEt.

Referenced by FWJetProxyBuilder::setTextPos(), and FWEveView::setupEnergyScale().

{
   return isEt ?  m_maxEt : m_maxEnergy;
}
TEveTrackPropagator* fireworks::Context::getMuonTrackPropagator ( ) const [inline]
TEveTrackPropagator* fireworks::Context::getTrackerTrackPropagator ( ) const [inline]
TEveTrackPropagator* fireworks::Context::getTrackPropagator ( ) const [inline]
void Context::initEveElements ( )

Definition at line 96 of file Context.cc.

References caloR1(), caloR2(), caloZ1(), caloZ2(), f, CmsShowCommon::getProjTrackBreaking(), CmsShowCommon::getRnrPTBMarkers(), m_beamSpot, m_caloData, m_caloDataHF, m_commonPrefs, m_magField, m_muonPropagator, m_propagator, m_trackerPropagator, Pi, ntuplemaker::status, fw3dlego::xbins, fw3dlego::xbins_hf, fw3dlego::xbins_hf_n, and fw3dlego::xbins_n.

Referenced by CmsShowMainBase::setup().

{
   m_magField = new FWMagField();
   m_beamSpot = new FWBeamSpot();
   

   float propagatorOffR = 5;
   float propagatorOffZ = propagatorOffR*caloZ1(false)/caloR1(false);

   // common propagator, helix stepper
   m_propagator = new TEveTrackPropagator();
   m_propagator->SetMagFieldObj(m_magField, false);
   m_propagator->SetMaxR(caloR2()-propagatorOffR);
   m_propagator->SetMaxZ(caloZ2()-propagatorOffZ);
   m_propagator->SetDelta(0.01);
   m_propagator->SetProjTrackBreaking(m_commonPrefs->getProjTrackBreaking());
   m_propagator->SetRnrPTBMarkers(m_commonPrefs->getRnrPTBMarkers());
   m_propagator->IncDenyDestroy();
   // tracker propagator
   m_trackerPropagator = new TEveTrackPropagator();
   m_trackerPropagator->SetStepper( TEveTrackPropagator::kRungeKutta );
   m_trackerPropagator->SetMagFieldObj(m_magField, false);
   m_trackerPropagator->SetDelta(0.01);
   m_trackerPropagator->SetMaxR(caloR1()-propagatorOffR);
   m_trackerPropagator->SetMaxZ(caloZ2()-propagatorOffZ);
   m_trackerPropagator->SetProjTrackBreaking(m_commonPrefs->getProjTrackBreaking());
   m_trackerPropagator->SetRnrPTBMarkers(m_commonPrefs->getRnrPTBMarkers());
   m_trackerPropagator->IncDenyDestroy();
   // muon propagator
   m_muonPropagator = new TEveTrackPropagator();
   m_muonPropagator->SetStepper( TEveTrackPropagator::kRungeKutta );
   m_muonPropagator->SetMagFieldObj(m_magField, false);
   m_muonPropagator->SetDelta(0.05);
   m_muonPropagator->SetMaxR(850.f);
   m_muonPropagator->SetMaxZ(1100.f);
   m_muonPropagator->SetProjTrackBreaking(m_commonPrefs->getProjTrackBreaking());
   m_muonPropagator->SetRnrPTBMarkers(m_commonPrefs->getRnrPTBMarkers());
   m_muonPropagator->IncDenyDestroy();

   // general calo data
   {
      m_caloData = new TEveCaloDataHist();
      m_caloData->IncDenyDestroy();

      // Phi range is always in the (-Pi, Pi) without a shift.
      // Set wrap to false for the optimisation on TEveCaloData::GetCellList().
      m_caloData->SetWrapTwoPi(false);

      Bool_t status = TH1::AddDirectoryStatus();
      TH1::AddDirectory(kFALSE); //Keeps histogram from going into memory
      TH2F* dummy = new TH2F("background",
                             "background",
                             fw3dlego::xbins_n - 1, fw3dlego::xbins,
                             72, -1*TMath::Pi(), TMath::Pi());
      
      TH1::AddDirectory(status);
      Int_t sliceIndex = m_caloData->AddHistogram(dummy);
      (m_caloData)->RefSliceInfo(sliceIndex).Setup("background", 0., 0);
   }
   // HF calo data
   {
      m_caloDataHF = new TEveCaloDataVec(1);
      m_caloDataHF->IncDenyDestroy();
      m_caloDataHF->SetWrapTwoPi(false);
      m_caloDataHF->RefSliceInfo(0).Setup("bg", 0.3, kRed);
      m_caloDataHF->SetEtaBins(new TAxis(fw3dlego::xbins_hf_n - 1, fw3dlego::xbins_hf));
      Double_t off = 10 * TMath::DegToRad();
      m_caloDataHF->SetPhiBins(new TAxis(36, -TMath::Pi() -off, TMath::Pi() -off));
   }
}
FWJobMetadataManager* fireworks::Context::metadataManager ( ) const [inline]

Definition at line 70 of file Context.h.

References m_metadataManager.

Referenced by FWGUIManager::addData(), and CmsShowNavigator::getProcessList().

                                                 {
      return m_metadataManager;
   }
FWModelChangeManager* fireworks::Context::modelChangeManager ( ) const [inline]

Definition at line 55 of file Context.h.

References m_changeManager.

Referenced by FWEventItem::changeManager(), and FWGUIManager::createList().

                                                    {
      return m_changeManager;
   }
const Context& fireworks::Context::operator= ( const Context ) [private]
void Context::resetMaxEtAndEnergy ( ) const

Definition at line 192 of file Context.cc.

References m_maxEnergy, and m_maxEt.

Referenced by FWEveViewManager::eventBegin().

{
   // should not be zero, problems with infinte bbox 

   m_maxEnergy = 1.f;
   m_maxEt     = 1.f;
}
FWSelectionManager* fireworks::Context::selectionManager ( ) const [inline]
void fireworks::Context::setGeom ( const FWGeometry x) [inline]

Definition at line 52 of file Context.h.

References m_geom, and x.

Referenced by CmsShowMainBase::loadGeometry().

{ m_geom = x; }
void Context::voteMaxEtAndEnergy ( float  Et,
float  energy 
) const

Member Data Documentation

Definition at line 126 of file Context.h.

Referenced by getBeamSpot(), and initEveElements().

TEveCaloDataHist* fireworks::Context::m_caloData [private]

Definition at line 133 of file Context.h.

Referenced by getCaloData(), and initEveElements().

TEveCaloDataVec* fireworks::Context::m_caloDataHF [private]

Definition at line 134 of file Context.h.

Referenced by getCaloDataHF(), and initEveElements().

Definition at line 113 of file Context.h.

Referenced by modelChangeManager().

Definition at line 116 of file Context.h.

Referenced by colorManager().

Definition at line 128 of file Context.h.

Referenced by commonPrefs(), Context(), initEveElements(), and ~Context().

Definition at line 115 of file Context.h.

Referenced by eventItemsManager().

Definition at line 119 of file Context.h.

Referenced by getGeom(), and setGeom().

Definition at line 125 of file Context.h.

Referenced by getField(), and initEveElements().

float fireworks::Context::m_maxEnergy [mutable, private]

Definition at line 131 of file Context.h.

Referenced by getMaxEnergyInEvent(), resetMaxEtAndEnergy(), and voteMaxEtAndEnergy().

float fireworks::Context::m_maxEt [mutable, private]

Definition at line 130 of file Context.h.

Referenced by getMaxEnergyInEvent(), resetMaxEtAndEnergy(), and voteMaxEtAndEnergy().

Definition at line 117 of file Context.h.

Referenced by metadataManager().

TEveTrackPropagator* fireworks::Context::m_muonPropagator [private]

Definition at line 123 of file Context.h.

Referenced by getMuonTrackPropagator(), and initEveElements().

TEveTrackPropagator* fireworks::Context::m_propagator [private]

Definition at line 121 of file Context.h.

Referenced by getTrackPropagator(), and initEveElements().

Definition at line 114 of file Context.h.

Referenced by selectionManager().

TEveTrackPropagator* fireworks::Context::m_trackerPropagator [private]

Definition at line 122 of file Context.h.

Referenced by getTrackerTrackPropagator(), and initEveElements().

const float Context::s_caloOffR = 10 [static, private]

Definition at line 144 of file Context.h.

const float Context::s_caloOffZ = s_caloOffR/tan(s_caloTransAngle) [static, private]

Definition at line 145 of file Context.h.

const float Context::s_caloR = s_caloZ*tan(s_caloTransAngle) [static, private]

Definition at line 140 of file Context.h.

Referenced by caloR1(), and caloR2().

const float Context::s_caloTransAngle = 2*atan(exp(-s_caloTransEta)) [static, private]

Definition at line 138 of file Context.h.

Referenced by caloTransAngle().

const float Context::s_caloTransEta = 1.479 [static, private]

Definition at line 137 of file Context.h.

Referenced by caloTransEta().

const float Context::s_caloZ = 290 [static, private]

Definition at line 141 of file Context.h.

Referenced by caloZ1(), and caloZ2().