ATLAS Offline Software
Classes | Public Types | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Slots | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
VP1BPhysSystem Class Reference

#include <VP1BPhysSystem.h>

Inheritance diagram for VP1BPhysSystem:
Collaboration diagram for VP1BPhysSystem:

Classes

class  Clockwork
 

Public Types

typedef std::set< SoCamera * > CamList
 
typedef CamList::iterator CamListItr
 
enum  State { CONSTRUCTED =0, REFRESHED, ERASED, UNCREATED }
 
enum  ActiveState { ON =0, OFF }
 

Signals

void itemFromSystemSelected ()
 
void sysmessage (QString) const
 
void inactiveSystemTurnedActive ()
 
void needErase ()
 

Public Member Functions

 VP1BPhysSystem ()
 
virtual ~VP1BPhysSystem ()
 
void buildEventSceneGraph (StoreGateSvc *sg, SoSeparator *root)
 
QWidget * buildController ()
 
virtual void systemcreate (StoreGateSvc *detstore)
 
void ensureBuildController ()
 
virtual void buildPermanentSceneGraph (StoreGateSvc *detstore, SoSeparator *root)
 
void updateGUI ()
 
virtual void userPickedNode (SoNode *pickedNode, SoPath *pickedPath)
 
virtual void systemerase ()
 
virtual void systemuncreate ()
 
void warnOnDisabledNotifications () const
 
void registerCamera (SoCamera *camera)
 
void registerViewer (SoQtViewer *viewer)
 
void registerSelectionNode (SoCooperativeSelection *)
 
void unregisterSelectionNode (SoCooperativeSelection *)
 
void setUserSelectionNotificationsEnabled (SoCooperativeSelection *sel, bool enabled)
 
virtual void userSelectedSingleNode (SoCooperativeSelection *, SoNode *, SoPath *)
 
virtual void userDeselectedSingleNode (SoCooperativeSelection *, SoNode *, SoPath *)
 
virtual void userChangedSelection (SoCooperativeSelection *, QSet< SoNode * >, QSet< SoPath * >)
 
virtual void userClickedOnBgd ()
 
virtual void deselectAll (SoCooperativeSelection *exception_sel=0)
 
CamList getCameraList ()
 
virtual QWidget * buildExtraDisplayWidget ()
 
const QString & name () const
 
const QString & information () const
 
const QString & contact_info () const
 
QWidget * controllerWidget ()
 
virtual QByteArray saveState ()
 
virtual void restoreFromState (QByteArray)
 
void message (const QString &) const
 
void message (const QStringList &, const QString &addtoend="") const
 
void message (const QString &addtostart, const QStringList &, const QString &addtoend="") const
 
void messageDebug (const QString &) const
 
void messageDebug (const QStringList &, const QString &addtoend="") const
 
void messageDebug (const QString &addtostart, const QStringList &, const QString &addtoend="") const
 
void messageVerbose (const QString &) const
 
void messageVerbose (const QStringList &, const QString &addtoend="") const
 
void messageVerbose (const QString &addtostart, const QStringList &, const QString &addtoend="") const
 
StoreGateSvcstoreGate () const
 
StoreGateSvceventStore () const
 
StoreGateSvcdetectorStore () const
 
ISvcLocator * serviceLocator () const
 
IToolSvc * toolSvc () const
 
State state () const
 
ActiveState activeState () const
 

Static Public Member Functions

static bool verbose ()
 
static QString str (const QString &s)
 
static QString str (const char *c)
 
static QString str (const bool b)
 
static QString str (const QColor &)
 
static QString str (const SbColor &)
 
static QString str (const VP1Interval &)
 
static QString str (const SbVec2d &)
 
static QString str (const SbVec2f &)
 
static QString str (const SbVec2s &)
 
static QString str (const SbVec3d &)
 
static QString str (const SbVec3f &)
 
static QString str (const SbVec3s &)
 
static QString str (const SbVec4d &)
 
static QString str (const SbVec4f &)
 
static QString str (short int n)
 
static QString str (unsigned short int n)
 
static QString str (long n)
 
static QString str (ulong n)
 
static QString str (int n)
 
static QString str (uint n)
 
static QString str (qlonglong n)
 
static QString str (qulonglong n)
 
static QString str (const double &d)
 
static QString str (const float &f)
 
static QString str (const void *)
 
template<class T >
static QString str (const T *t)
 
template<class T >
static QString str (const QFlags< T > &f)
 
template<class T >
static QString str (const HepGeom::BasicVector3D< T > &t)
 
static QString str (const Amg::Vector3D &t)
 
template<class T >
static QString str (const QList< T > &t)
 

Protected Member Functions

void registerController (QWidget *)
 

Private Slots

void loadFile ()
 slots ***************************************************************************** More...
 
void displayVerticesChanged (int state)
 
void sphereToggled (bool checked)
 
void crossToggled (bool checked)
 
void ellipsoidToggled (bool checked)
 
void displayAllTracksChanged (int state)
 
void displayOrigSignalChanged (int state)
 
void displayRefTracksChanged (int state)
 
void displayNeutralChanged (int state)
 
void activateClickedOutside ()
 

Private Member Functions

void actualBuild ()
 
void filterTrack (SoSeparator *root, const Rec::TrackParticleContainer *partCont, double pt, double eta, double phi, double d0, double z0, double x, double y, double z, unsigned long color, std::vector< const Rec::TrackParticle * > *selectedParticles)
 drawing methods ******************************************************************* More...
 
void drawAllTrackParticles (StoreGateSvc *sg, SoSeparator *root, std::vector< const Rec::TrackParticle * > *selectedParticles)
 
void drawTrackParticle (SoSwitch *trackSwitch, const Rec::TrackParticle *part, unsigned long color)
 
void drawCutoffTrackParticle (SoSeparator *root, const Rec::TrackParticle *part, double x, double y, double z, unsigned long color)
 
void drawNeutralTrack (SoSeparator *root, double x, double y, double z, double px, double py, double pz, double length, unsigned long color)
 
void drawRefittedTrack (SoSeparator *root, double x, double y, double z, double px, double py, double pz, double charge, unsigned long color)
 
void drawVertex (SoSeparator *root, double x, double y, double z, double radius, double xx, double xy, double xz, double yy, double yz, double zz, unsigned long color, std::vector< SoSwitch * > &vertexSwitches)
 
void drawPoints (SoSwitch *trackSwitch, std::vector< Amg::Vector3D > *points, unsigned long color, double width, bool isNeutral)
 
std::vector< Amg::Vector3D > * getPoints (const Trk::Track *track)
 
std::vector< Amg::Vector3D > * getPoints (const Rec::TrackParticle *part)
 
std::vector< Amg::Vector3D > * findClosestApproach (std::vector< Amg::Vector3D > *points, double x, double y, double z)
 
const Trk::TrackgetTrack (const Rec::TrackParticle *trackparticle)
 utils ***************************************************************************** More...
 
const Trk::TrackgetRefittedTrack (const Amg::Vector3D &pos, const Amg::Vector3D &mom, double charge)
 
void getColor (unsigned long icolor, double &r, double &g, double &b)
 
SoLineSet * createCross (double extent)
 
SoSeparator * getSceneGraph () const
 
void create (StoreGateSvc *detstore)
 
void refresh (StoreGateSvc *storegate)
 
void erase ()
 
void uncreate ()
 
void disallowUpdateGUI ()
 
void allowUpdateGUI ()
 
void setChannel (IVP1ChannelWidget *)
 
IVP1ChannelWidgetchannel () const
 
void deleteController ()
 
void setState (const State &)
 
void setActiveState (const ActiveState &, const bool &donttriggererase=true)
 
bool isRefreshing ()
 
void setRefreshing (const bool &)
 
void setCanRegisterController (const bool &)
 

Private Attributes

TFile * m_rootFile
 
TTree * m_tree
 
QString m_fileName
 
StoreGateSvcm_sg
 
SoSeparator * m_root
 
int m_vertexStyle
 
bool m_showVertices
 
std::vector< SoSwitch * > m_vertexSwitches
 
bool m_showAll
 
bool m_showSignal
 
bool m_showNeutral
 
bool m_showRefitted
 
std::vector< SoSwitch * > m_trackSwitches
 
std::vector< SoSwitch * > m_overlapSwitches
 
std::vector< SoSwitch * > m_signalSwitches
 
std::vector< SoSwitch * > m_neutralSwitches
 
std::vector< SoSwitch * > m_refittedSwitches
 
Brm_br
 
Clockworkm_c
 
Impm_d
 

Static Private Attributes

static const bool s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
 

Detailed Description

Definition at line 95 of file VP1BPhysSystem.h.

Member Typedef Documentation

◆ CamList

typedef std::set<SoCamera*> IVP13DSystem::CamList
inherited

Definition at line 90 of file IVP13DSystem.h.

◆ CamListItr

typedef CamList::iterator IVP13DSystem::CamListItr
inherited

Definition at line 91 of file IVP13DSystem.h.

Member Enumeration Documentation

◆ ActiveState

enum IVP1System::ActiveState
inherited
Enumerator
ON 
OFF 

Definition at line 144 of file IVP1System.h.

144 { ON=0, OFF };//Whether it is part of the erase/refresh cycle.

◆ State

enum IVP1System::State
inherited
Enumerator
CONSTRUCTED 
REFRESHED 
ERASED 
UNCREATED 

Definition at line 143 of file IVP1System.h.

Constructor & Destructor Documentation

◆ VP1BPhysSystem()

VP1BPhysSystem::VP1BPhysSystem ( )

Definition at line 115 of file VP1BPhysSystem.cxx.

116  : IVP13DSystemSimple("BPhys",
117  "VP1BPhysSystem",
118  "daniel.scheirich@cern.ch") ,
119  m_vertexStyle{},
120  m_showVertices{},
122 
123  m_showAll{},
124  m_showSignal{},
125  m_showNeutral{},
126  m_showRefitted{},
127 
128  m_trackSwitches{},
133  m_br{},
134  m_c(new Clockwork)
135 {
136  messageDebug("in BPhysSystem");
137 
138  m_rootFile = nullptr;
139  m_tree = nullptr;
140  m_sg = nullptr;
141  m_root = nullptr;
142 
143 
144 // messageDebug("Creating propagationHelper...");
145 // propagationHelper = new TrackPropagationHelper(this);
146 // messageDebug("...done");
147 
148  messageDebug("leaving VP1BPhysSystem");
149 }

◆ ~VP1BPhysSystem()

virtual VP1BPhysSystem::~VP1BPhysSystem ( )
inlinevirtual

Definition at line 101 of file VP1BPhysSystem.h.

101 {};

Member Function Documentation

◆ activateClickedOutside

void IVP13DSystem::activateClickedOutside ( )
privateslotinherited

Definition at line 85 of file IVP13DSystem.cxx.

86 {
88  return;
91 }

◆ activeState()

IVP1System::ActiveState IVP1System::activeState ( ) const
inherited

Definition at line 135 of file IVP1System.cxx.

136 {
137  return m_d->activeState;
138 }

◆ actualBuild()

void VP1BPhysSystem::actualBuild ( )
private


Definition at line 190 of file VP1BPhysSystem.cxx.

190  {
191 
192  //delete all objects from the scene
193  m_root->removeAllChildren();
194 
195  //Sanity check:
196  if (!m_sg) {
197  message("Error: Got null storegate pointer");
198  return;
199  }
200 
201  //check that file was open
202  if(m_tree==nullptr) return;
203 
204  //retrieving event info
205  const EventContext& ctx = Gaudi::Hive::currentContext();
206  int evtNum = ctx.eventID().event_number();
207  int runNum = ctx.eventID().run_number();
208 
209  //retrieve TrackParticle candidates
210  const Rec::TrackParticleContainer* partCont;
211  StatusCode status = m_sg->retrieve(partCont, "TrackParticleCandidate");
212  if (status != StatusCode::SUCCESS || !partCont) {
213  message("Error: Could not retrieve track particle container (used key=TrackParticleCandidate)");
214  return;
215  }
216 
218  //cleanup
219  m_vertexSwitches.clear();
220  m_trackSwitches.clear();
221  m_overlapSwitches.clear();
222  m_signalSwitches.clear();
223  m_neutralSwitches.clear();
224  m_refittedSwitches.clear();
225 
227 
228  std::vector<const Rec::TrackParticle*>* selectedParticles = new std::vector<const Rec::TrackParticle*>();
229 
230 
231  //find event
232  //int e = m_tree->GetEntryNumberWithIndex(runNum, evtNum); //for some reason this doesn't work 100% reliable
233 
234  int e=-1;
235  for(int i=0; i<m_tree->GetEntries(); ++i) {
236  m_br->GetEntry(i);
237  if(m_br->runNum == runNum && m_br->evtNum == evtNum) {
238  e=i;
239  break;
240  }
241  }
242 
243  if(e==-1) {
244  m_c->ui.lStatus->setText("No event to display");
245  message("Event is not in the VP1BPhys Display File. Skipping.");
246  }else{
247  m_c->ui.lStatus->setText("");
248 
249  m_br->GetEntry(e);
250  for(; m_br->runNum == runNum && m_br->evtNum == evtNum && e<m_tree->GetEntries(); m_br->GetEntry(++e)) {
251 
252 
253  //filter tracks
254  //sanity check
255  if(m_br->track_pt->size() != m_br->track_eta->size() ||
256  m_br->track_pt->size() != m_br->track_eta->size() ||
257  m_br->track_pt->size() != m_br->track_phi->size() ||
258  m_br->track_pt->size() != m_br->track_d0->size() ||
259  m_br->track_pt->size() != m_br->track_z0->size() ||
260  m_br->track_pt->size() != m_br->track_charge->size() ||
261  m_br->track_pt->size() != m_br->track_color->size() ||
262  m_br->track_pt->size() != m_br->track_refitted_px->size() ||
263  m_br->track_pt->size() != m_br->track_refitted_py->size() ||
264  m_br->track_pt->size() != m_br->track_refitted_pz->size() ||
265  m_br->track_pt->size() != m_br->track_refitted_color->size() ||
266  m_br->neutral_refitted_px->size() != m_br->neutral_refitted_py->size() ||
267  m_br->neutral_refitted_px->size() != m_br->neutral_refitted_py->size() ||
268  m_br->neutral_refitted_px->size() != m_br->neutral_refitted_pz->size() ||
269  m_br->neutral_refitted_px->size() != m_br->neutral_length->size() ||
270  m_br->neutral_refitted_px->size() != m_br->neutral_color->size())
271  {
272  message("Different lengths of some filter track collections");
273  continue;
274  }
275 
276  //draw selected particles
277  for(uint i=0; i<m_br->track_pt->size(); ++i) {
278  //TrackParticles
279  filterTrack(m_root, partCont,
280  m_br->track_pt->at(i),
281  m_br->track_eta->at(i),
282  m_br->track_phi->at(i),
283  m_br->track_d0->at(i),
284  m_br->track_z0->at(i),
285  m_br->vtx_x, m_br->vtx_y, m_br->vtx_z,
286  m_br->track_color->at(i),
287  selectedParticles);
288 
289  //refitted tracks
291  m_br->vtx_x, m_br->vtx_y, m_br->vtx_z,
292  m_br->track_refitted_px->at(i),
293  m_br->track_refitted_py->at(i),
294  m_br->track_refitted_pz->at(i),
295  m_br->track_charge->at(i),
296  m_br->track_refitted_color->at(i));
297 
298  }
299 
300 
301  //draw neutral tracks
302  std::vector<double>::iterator neutralPxItr = m_br->neutral_refitted_px->begin();
303  std::vector<double>::iterator neutralPyItr = m_br->neutral_refitted_py->begin();
304  std::vector<double>::iterator neutralPzItr = m_br->neutral_refitted_pz->begin();
305  std::vector<double>::iterator neutralLengthItr = m_br->neutral_length->begin();
306  std::vector<unsigned long>::iterator neutralColorItr = m_br->neutral_color->begin();
307 
308  for(; neutralPxItr!=m_br->neutral_refitted_px->end(); ++neutralPxItr, ++neutralPyItr, ++neutralPzItr, ++neutralLengthItr, ++neutralColorItr) {
310  *neutralPxItr, *neutralPyItr, *neutralPzItr, *neutralLengthItr, *neutralColorItr);
311  }
312 
313  //draw vertices
314  drawVertex(m_root, m_br->vtx_x, m_br->vtx_y, m_br->vtx_z, 3/*sigma*/,
315  m_br->vtx_xx,
316  m_br->vtx_xy,
317  m_br->vtx_xz,
318  m_br->vtx_yy,
319  m_br->vtx_yz,
320  m_br->vtx_zz,
321  m_br->vtx_color,
323 
324  }
325  }
326 
327  //draw all remaining tracks
328  drawAllTrackParticles(m_sg,m_root,selectedParticles);
329 
330  //cleaning up
331  delete selectedParticles;
332 
333 
334 }

◆ allowUpdateGUI()

void IVP1System::allowUpdateGUI ( )
privateinherited

Definition at line 256 of file IVP1System.cxx.

257 {
258  m_d->allowupdategui=true;
259 }

◆ buildController()

QWidget * VP1BPhysSystem::buildController ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 152 of file VP1BPhysSystem.cxx.

153 {
154  messageDebug("in buildController");
155 
156  QWidget * controller = new QWidget(nullptr);
157  m_c->ui.setupUi(controller);
158 
159  //connect slots
160  connect(m_c->ui.bLoad,SIGNAL(released()),this,SLOT(loadFile()));
161 
162  connect(m_c->ui.chDisplayVertices,SIGNAL(stateChanged(int)),this,SLOT(displayVerticesChanged(int)));
163  connect(m_c->ui.rbSphere,SIGNAL(toggled(bool)),this,SLOT(sphereToggled(bool)));
164  connect(m_c->ui.rbCross,SIGNAL(toggled(bool)),this,SLOT(crossToggled(bool)));
165  connect(m_c->ui.rbEllipsoid,SIGNAL(toggled(bool)),this,SLOT(ellipsoidToggled(bool)));
166 
167  connect(m_c->ui.chDisplayAllTracks ,SIGNAL(stateChanged(int)),this,SLOT(displayAllTracksChanged(int)));
168  connect(m_c->ui.chDisplayOrigSignal,SIGNAL(stateChanged(int)),this,SLOT(displayOrigSignalChanged(int)));
169  connect(m_c->ui.chDisplayRefTracks ,SIGNAL(stateChanged(int)),this,SLOT(displayRefTracksChanged(int)));
170  connect(m_c->ui.chDisplayNeutral ,SIGNAL(stateChanged(int)),this,SLOT(displayNeutralChanged(int)));
171 
172  if(m_c->ui.rbSphere->isChecked()) m_vertexStyle = 0;
173  if(m_c->ui.rbCross->isChecked()) m_vertexStyle = 1;
174  if(m_c->ui.rbEllipsoid->isChecked()) m_vertexStyle = 2;
175  m_showVertices = m_c->ui.chDisplayVertices->isChecked();
176 
177  m_showAll = m_c->ui.chDisplayAllTracks->isChecked();
178  m_showSignal = m_c->ui.chDisplayOrigSignal->isChecked();
179  m_showRefitted = m_c->ui.chDisplayRefTracks->isChecked();
180  m_showNeutral = m_c->ui.chDisplayNeutral->isChecked();
181 
182 
183  messageDebug("leaving buildController");
184 
185  return controller;
186 }

◆ buildEventSceneGraph()

void VP1BPhysSystem::buildEventSceneGraph ( StoreGateSvc sg,
SoSeparator *  root 
)
virtual

Implements IVP13DSystemSimple.

Definition at line 336 of file VP1BPhysSystem.cxx.

337 {
338  messageDebug("in buildEventSceneGraph");
339 
340  m_sg = sg;
341  m_root = root;
342 
343  actualBuild();
344 
345  messageDebug("Leaving buildEventSceneGraph");
346 
347 }

◆ buildExtraDisplayWidget()

virtual QWidget* IVP13DSystem::buildExtraDisplayWidget ( )
inlinevirtualinherited

Definition at line 106 of file IVP13DSystem.h.

106 { return 0; }

◆ buildPermanentSceneGraph()

void IVP13DSystemSimple::buildPermanentSceneGraph ( StoreGateSvc detstore,
SoSeparator *  root 
)
virtualinherited

◆ channel()

IVP1ChannelWidget * IVP1System::channel ( ) const
privateinherited

Definition at line 275 of file IVP1System.cxx.

276 {
277  if (VP1Msg::verbose()&&!m_d->channel){
278  messageVerbose("WARNING channel() returning NULL");
279  }
280  assert(m_d->channel);
281  return m_d->channel;
282 }

◆ contact_info()

const QString & IVP1System::contact_info ( ) const
inherited

Definition at line 62 of file IVP1System.cxx.

63 {
64  return m_d->contact_info;
65 }

◆ controllerWidget()

QWidget * IVP1System::controllerWidget ( )
inherited

Definition at line 202 of file IVP1System.cxx.

202  {
203  if (VP1Msg::verbose()) {
204  messageVerbose("controllerWidget()");
205  messageVerbose("registerController m_d->state==ERASED = "+QString(m_d->state==ERASED?"true":"false"));
206  messageVerbose("registerController m_d->state==REFRESHED = "+QString(m_d->state==REFRESHED?"true":"false"));
207  }
208  assert(m_d->state==REFRESHED||m_d->state==ERASED);
209  return m_d->controller;
210  }

◆ create()

void IVP13DSystemSimple::create ( StoreGateSvc detstore)
privatevirtualinherited

Implements IVP1System.

Definition at line 133 of file IVP13DSystemSimple.cxx.

134 {
135  if(VP1Msg::verbose()){
136  messageVerbose("IVP13DSystemSimple create");
137  }
138  assert(!m_d->wasrefreshed);
139  assert(!m_d->wascreated);
140  ensureBuildController();//TODO: Move to refresh.
141  m_d->wascreated=true;
142  m_d->wasrefreshed=false;
143 }

◆ createCross()

SoLineSet * VP1BPhysSystem::createCross ( double  extent)
private

Definition at line 1078 of file VP1BPhysSystem.cxx.

1078  {
1079  messageDebug("in createCross");
1080 
1081  SoVertexProperty *vertices = new SoVertexProperty();
1082  vertices->vertex.set1Value ( 0,-extent, 0 , 0 );
1083  vertices->vertex.set1Value ( 1, extent, 0 , 0 );
1084  vertices->vertex.set1Value ( 2, 0 ,-extent , 0 );
1085  vertices->vertex.set1Value ( 3, 0 , extent , 0 );
1086  vertices->vertex.set1Value ( 4, 0 , 0 ,-extent );
1087  vertices->vertex.set1Value ( 5, 0 , 0 , extent );
1088  SoLineSet * line = new SoLineSet();
1089  line->numVertices.set1Value(0,2);
1090  line->numVertices.set1Value(1,2);
1091  line->numVertices.set1Value(2,2);
1092  line->vertexProperty = vertices;
1093 
1094  messageDebug("leving createCross");
1095  return line;
1096 }

◆ crossToggled

void VP1BPhysSystem::crossToggled ( bool  checked)
privateslot

Definition at line 856 of file VP1BPhysSystem.cxx.

856  {
857  if(checked) {
858  messageDebug("show vertices as crosses");
859  m_vertexStyle=1;
860  }
861 
862  //apply
863  if(m_showVertices) {
865  for(; it!=m_vertexSwitches.end(); ++it) {
866  (*it)->whichChild = m_vertexStyle;
867  }
868  }
869 
870 }

◆ deleteController()

void IVP1System::deleteController ( )
privateinherited

Definition at line 213 of file IVP1System.cxx.

214 {
215  if (VP1Msg::verbose()){
216  messageVerbose("deleteController()");
217  }
218  if (m_d->controller)
219  m_d->controller->deleteLater();
220  m_d->controller = 0;
221 }

◆ deselectAll()

void IVP13DSystem::deselectAll ( SoCooperativeSelection exception_sel = 0)
virtualinherited

Reimplemented in VP1PrepRawDataSystem.

Definition at line 331 of file IVP13DSystem.cxx.

332 {
334  for (it = Imp::selection2system.begin(); it!=itE;++it) {
335  if (it->second!=this)
336  continue;
337  if (it->first!=exception_sel) {
338  if (it->first->policy.getValue()!=SoCooperativeSelection::SINGLE) {
339  Imp::start_changeselection(this, it->first);
340  it->first->deselectAll();
341  Imp::finished_changeselection(this, it->first);
342  } else {
343  if (it->first->getList()->getLength()==1) {
344  Imp::start_changeselection(this, it->first);
345  SoPath * path = static_cast<SoPath*>(it->first->getList()->get(0));
346  Imp::made_deselection(it->first,path);
347  it->first->deselectAll();
348  Imp::finished_changeselection(this, it->first);
349  }
350  }
351  }
352  }
353 }

◆ detectorStore()

StoreGateSvc * IVP1System::detectorStore ( ) const
inherited

Definition at line 318 of file IVP1System.cxx.

319 {
321 }

◆ disallowUpdateGUI()

void IVP1System::disallowUpdateGUI ( )
privateinherited

Definition at line 250 of file IVP1System.cxx.

251 {
252  m_d->allowupdategui=false;
253 }

◆ displayAllTracksChanged

void VP1BPhysSystem::displayAllTracksChanged ( int  state)
privateslot

Definition at line 888 of file VP1BPhysSystem.cxx.

888  {
889  if(state==Qt::Unchecked)
890  m_showAll = false;
891  else
892  m_showAll = true;
893 
894  //loop over all tracks
896  for(; it!=m_trackSwitches.end(); ++it) {
897  (*it)->whichChild = m_showAll ? SO_SWITCH_ALL : SO_SWITCH_NONE;
898  }
899 
900  //loop over overlap
901  it=m_overlapSwitches.begin();
902  for(; it!=m_overlapSwitches.end(); ++it) {
903  (*it)->whichChild = m_showAll && !m_showSignal && !m_showRefitted ? SO_SWITCH_ALL : SO_SWITCH_NONE;
904  }
905 }

◆ displayNeutralChanged

void VP1BPhysSystem::displayNeutralChanged ( int  state)
privateslot

Definition at line 945 of file VP1BPhysSystem.cxx.

945  {
946  if(state==Qt::Unchecked)
947  m_showNeutral = false;
948  else
949  m_showNeutral = true;
950 
951  //loop over neutral tracks
953  for(; it!=m_neutralSwitches.end(); ++it) {
954  (*it)->whichChild = m_showNeutral ? SO_SWITCH_ALL : SO_SWITCH_NONE;
955  }
956 }

◆ displayOrigSignalChanged

void VP1BPhysSystem::displayOrigSignalChanged ( int  state)
privateslot

Definition at line 907 of file VP1BPhysSystem.cxx.

907  {
908  if(state==Qt::Unchecked)
909  m_showSignal = false;
910  else
911  m_showSignal = true;
912 
913  //loop over original signal tracks
915  for(; it!=m_signalSwitches.end(); ++it) {
916  (*it)->whichChild = m_showSignal ? SO_SWITCH_ALL : SO_SWITCH_NONE;
917  }
918 
919  //loop over overlap
920  it=m_overlapSwitches.begin();
921  for(; it!=m_overlapSwitches.end(); ++it) {
922  (*it)->whichChild = m_showAll && !m_showSignal && !m_showRefitted ? SO_SWITCH_ALL : SO_SWITCH_NONE;
923  }
924 }

◆ displayRefTracksChanged

void VP1BPhysSystem::displayRefTracksChanged ( int  state)
privateslot

Definition at line 926 of file VP1BPhysSystem.cxx.

926  {
927  if(state==Qt::Unchecked)
928  m_showRefitted = false;
929  else
930  m_showRefitted = true;
931 
932  //loop over refitted signal tracks
934  for(; it!=m_refittedSwitches.end(); ++it) {
935  (*it)->whichChild = m_showRefitted ? SO_SWITCH_ALL : SO_SWITCH_NONE;
936  }
937  //loop over overlap
938  it=m_overlapSwitches.begin();
939  for(; it!=m_overlapSwitches.end(); ++it) {
940  (*it)->whichChild = m_showAll && !m_showSignal && !m_showRefitted ? SO_SWITCH_ALL : SO_SWITCH_NONE;
941  }
942 
943 }

◆ displayVerticesChanged

void VP1BPhysSystem::displayVerticesChanged ( int  state)
privateslot

Definition at line 819 of file VP1BPhysSystem.cxx.

819  {
820 
821  SoSFInt32 which;
822 
823  if(state==Qt::Unchecked) {
824  m_showVertices = false;
825  which = SO_SWITCH_NONE;
826  }else{
827  m_showVertices = true;
829  }
830 
831  //apply
833  for(; it!=m_vertexSwitches.end(); ++it) {
834  (*it)->whichChild = which;
835  }
836 
837 }

◆ drawAllTrackParticles()

void VP1BPhysSystem::drawAllTrackParticles ( StoreGateSvc sg,
SoSeparator *  root,
std::vector< const Rec::TrackParticle * > *  selectedParticles 
)
private

Definition at line 378 of file VP1BPhysSystem.cxx.

378  {
379  messageDebug("in drawAllTrackParticles");
380 
381  //retrieve TrackParticle candidates
382  const Rec::TrackParticleContainer* partCont;
383  StatusCode status = sg->retrieve(partCont, "TrackParticleCandidate");
384  if (status != StatusCode::SUCCESS || !partCont) {
385  message("Error: Could not retrieve track particle container (used key=TrackParticleCandidate)");
386  return;
387  }
388 
389  Rec::TrackParticleContainer::const_iterator partItr, partItrEnd = partCont->end();
390  for ( partItr = partCont->begin() ; partItr != partItrEnd; ++partItr) {
391  bool found = false;
392  if(selectedParticles!=nullptr) {
393  std::vector<const Rec::TrackParticle*>::const_iterator selItr = selectedParticles->begin();
394  for(; selItr!=selectedParticles->end(); ++selItr) {
395  if(*partItr == *selItr) {
396  found = true;
397  break;
398  }
399  }
400  }
401  if(!found) {
402  SoSwitch* trackSwitch = new SoSwitch();
403  root->addChild(trackSwitch);
404  trackSwitch->whichChild = m_showAll ? SO_SWITCH_ALL : SO_SWITCH_NONE;
405  drawTrackParticle(trackSwitch, *partItr, darkGray);
406  m_trackSwitches.push_back(trackSwitch);
407  }else{
408  SoSwitch* trackSwitch = new SoSwitch();
409  root->addChild(trackSwitch);
410  trackSwitch->whichChild = m_showAll && !m_showSignal && !m_showRefitted ? SO_SWITCH_ALL : SO_SWITCH_NONE;
411  drawTrackParticle(trackSwitch, *partItr, darkGray);
412  m_overlapSwitches.push_back(trackSwitch);
413  }
414  }
415  messageDebug("leaving drawAllTrackParticles");
416 
417 }

◆ drawCutoffTrackParticle()

void VP1BPhysSystem::drawCutoffTrackParticle ( SoSeparator *  root,
const Rec::TrackParticle part,
double  x,
double  y,
double  z,
unsigned long  color 
)
private

Definition at line 436 of file VP1BPhysSystem.cxx.

436  {
437  messageDebug("in drawCutoffTrackParticle");
438 
439  //getting track space-points
440  std::vector<Amg::Vector3D >* points = getPoints(part);
441 
442  //getting cut-off point collection
443  std::vector<Amg::Vector3D >* cutoffPoints = findClosestApproach(points, x, y, z);
444 
445  //drawing
446  SoSwitch* trackSwitch = new SoSwitch();
447  root->addChild(trackSwitch);
448  trackSwitch->whichChild = m_showSignal ? SO_SWITCH_ALL : SO_SWITCH_NONE;
449  drawPoints(trackSwitch,cutoffPoints,color,2,false);
450  m_signalSwitches.push_back(trackSwitch);
451 
452  //cleaning up
453  delete points;
454  delete cutoffPoints;
455 
456  messageDebug("leaving drawCutoffTrackParticle");
457 
458 }

◆ drawNeutralTrack()

void VP1BPhysSystem::drawNeutralTrack ( SoSeparator *  root,
double  x,
double  y,
double  z,
double  px,
double  py,
double  pz,
double  length,
unsigned long  color 
)
private

Definition at line 460 of file VP1BPhysSystem.cxx.

460  {
461  messageDebug("in drawNeutralTrack");
462 
463  std::vector<Amg::Vector3D >* points = new std::vector<Amg::Vector3D >();
464 
465  //create neutral track vector
466  CLHEP::Hep3Vector p(px,py,pz);
467  CLHEP::Hep3Vector track = p.unit();
468  track *= length;
469 
470  //create points
471  points->push_back(Amg::Vector3D(x-track.x(), y-track.y(), z-track.z()));
472  points->push_back(Amg::Vector3D(x,y,z));
473 
474  SoSwitch* trackSwitch = new SoSwitch();
475  root->addChild(trackSwitch);
476  trackSwitch->whichChild = m_showNeutral ? SO_SWITCH_ALL : SO_SWITCH_NONE;
477  drawPoints(trackSwitch, points, color, 2, true);
478  m_neutralSwitches.push_back(trackSwitch);
479 
480  //cleaning up
481  messageDebug("leaving drawNeutralTrack");
482  delete points;
483 
484 }

◆ drawPoints()

void VP1BPhysSystem::drawPoints ( SoSwitch *  trackSwitch,
std::vector< Amg::Vector3D > *  points,
unsigned long  color,
double  width,
bool  isNeutral 
)
private

Definition at line 515 of file VP1BPhysSystem.cxx.

517 {
518  messageDebug("in drawPoints");
519  if(points == nullptr) return;
520 
521  SoSeparator* sep = new SoSeparator();
522 
523  //setting up draw style
524  SoDrawStyle* drawStyle = new SoDrawStyle();
525  drawStyle->lineWidth = width;
526  if(isNeutral) {
527  drawStyle->linePattern = 0x00ff;
528  }
529  sep->addChild(drawStyle);
530 
531  //setting up color
532  SoBaseColor* baseColor = new SoBaseColor();
533  double r,g,b;
534  getColor(color,r,g,b);
535  baseColor->rgb.setValue(r,g,b);
536  sep->addChild(baseColor);
537 
538  int iver(0);
539  SoVertexProperty *vertices = new SoVertexProperty();
540 
542  for(it = points->begin(); it != itE; ++it) {
543  vertices->vertex.set1Value(iver++,(*it).x(),(*it).y(),(*it).z());
544  }
545 
546  //Create a set of lines from these vertices:
547  SoLineSet * line = new SoLineSet();
548  line->numVertices = iver;
549  line->vertexProperty = vertices;
550 
551  //Add to the tree:
552  sep->addChild(line);
553 
554  //add to the root
555  trackSwitch->addChild(sep);
556 
557  //To avoid GUI freeze-ups:
558  updateGUI();
559 
560  messageDebug("leaving drawPoints");
561 
562 }

◆ drawRefittedTrack()

void VP1BPhysSystem::drawRefittedTrack ( SoSeparator *  root,
double  x,
double  y,
double  z,
double  px,
double  py,
double  pz,
double  charge,
unsigned long  color 
)
private

Definition at line 487 of file VP1BPhysSystem.cxx.

489 {
490  messageDebug("in drawRefittedTrack");
491 
493  Amg::Vector3D pos(x,y,z);
494 
496 
497  //getting track space-points
498  std::vector<Amg::Vector3D >* points = getPoints(track);
499 
500  //drawing
501  SoSwitch* trackSwitch = new SoSwitch();
502  root->addChild(trackSwitch);
503  trackSwitch->whichChild = m_showRefitted ? SO_SWITCH_ALL : SO_SWITCH_NONE;
504  drawPoints(trackSwitch,points,color,2,false);
505  m_refittedSwitches.push_back(trackSwitch);
506 
507  //cleaning up
508  delete points;
509  delete track;
510 
511  messageDebug("leaving drawCutoffTrackParticle");
512 
513 }

◆ drawTrackParticle()

void VP1BPhysSystem::drawTrackParticle ( SoSwitch *  trackSwitch,
const Rec::TrackParticle part,
unsigned long  color 
)
private

Definition at line 419 of file VP1BPhysSystem.cxx.

419  {
420 
421  messageDebug("in drawTrackParticle");
422 
423  //getting track space-points
424  std::vector<Amg::Vector3D >* points = getPoints(part);
425 
426  //drawing line
427  drawPoints(trackSwitch,points,color, 0.0f, false);
428 
429  //cleaning up
430  delete points;
431 
432  messageDebug("leaving drawTrackParticle");
433 
434 }

◆ drawVertex()

void VP1BPhysSystem::drawVertex ( SoSeparator *  root,
double  x,
double  y,
double  z,
double  radius,
double  xx,
double  xy,
double  xz,
double  yy,
double  yz,
double  zz,
unsigned long  color,
std::vector< SoSwitch * > &  vertexSwitches 
)
private

sphere

cross

ellipsoid

Definition at line 679 of file VP1BPhysSystem.cxx.

682 {
683  messageDebug("in drawVertex");
684 
685  SoSeparator* sep = new SoSeparator();
686 
687  //move sphere to position
688  SoTranslation * translation = new SoTranslation;
689  translation->translation.setValue ( x, y, z );
690  sep->addChild ( translation );
691 
692  //color
693  SoBaseColor* baseColor = new SoBaseColor();
694  double rr,gg,bb;
695  getColor(color,rr,gg,bb);
696  baseColor->rgb.setValue(rr,gg,bb);
697  sep->addChild(baseColor);
698 
699  //switch
700  SoSwitch* vtxSwitch = new SoSwitch();
701  if(!m_showVertices)
702  vtxSwitch->whichChild = SO_SWITCH_NONE;
703  else
704  vtxSwitch->whichChild = m_vertexStyle;
705 
706  sep->addChild(vtxSwitch);
707 
709  SoSphere * sphere = new SoSphere;
710  sphere->radius = 2*CLHEP::mm;
711  vtxSwitch->addChild ( sphere );
712 
714  SoLineSet* cross = createCross(3*CLHEP::mm);
715  vtxSwitch->addChild ( cross );
716 
718  SoSeparator* sepEllipsoid = new SoSeparator();
719  vtxSwitch->addChild ( sepEllipsoid );
720 
721  //transorm sphere to elipsoid
722  double a=xx*CLHEP::mm;
723  double b=xy*CLHEP::mm;
724  double c=xz*CLHEP::mm;
725  double d=yy*CLHEP::mm;
726  double e=yz*CLHEP::mm;
727  double f=zz*CLHEP::mm;
728 
729  double det = a*(d*f-e*e) + 2*b*c*e - d*c*c-f*b*b;
730  if (det>0) {
731  double sixthrootofdet = exp(log(det)/6.0);
732  double invdet = 1.0/sixthrootofdet;
733  a *= invdet;
734  b *= invdet;
735  c *= invdet;
736  d *= invdet;
737  e *= invdet;
738  f *= invdet;
739  SbMatrix sbMat(a,b,c,0,
740  b,d,e,0,
741  c,e,f,0,
742  0,0,0,1);
743  SoMatrixTransform * matTrans = new SoMatrixTransform();
744  matTrans->matrix.setValue(sbMat);
745  sepEllipsoid->addChild (matTrans);
746  } else {
747  //FIXME: warn
748  }
749  SoSphere * ellipsoid = new SoSphere;
750  ellipsoid->radius = 3;
751  sepEllipsoid->addChild ( sphere );
752 
753 
754 
755  //vertexSwitches
756  vertexSwitches.push_back(vtxSwitch);
757 
758  //add to root
759  root->addChild(sep);
760 
761  //To avoid GUI freeze-ups:
762  updateGUI();
763 
764  messageDebug("leaving drawVertex");
765 
766 }

◆ ellipsoidToggled

void VP1BPhysSystem::ellipsoidToggled ( bool  checked)
privateslot

Definition at line 872 of file VP1BPhysSystem.cxx.

872  {
873  if(checked) {
874  messageDebug("show vertices as error ellipsoids");
875  m_vertexStyle=2;
876  }
877 
878  //apply
879  if(m_showVertices) {
881  for(; it!=m_vertexSwitches.end(); ++it) {
882  (*it)->whichChild = m_vertexStyle;
883  }
884  }
885 
886 }

◆ ensureBuildController()

void IVP13DSystemSimple::ensureBuildController ( )
inherited

Definition at line 90 of file IVP13DSystemSimple.cxx.

91 {
92  if (m_d->controllerBuilt)
93  return;
94  m_d->controllerBuilt=true;
95  if(VP1Msg::verbose()){
96  messageVerbose("IVP13DSystemSimple build controller");
97  }
98  QWidget * controller = buildController();
99  if (controller)
100  registerController(controller);
101  if(VP1Msg::verbose()){
102  messageVerbose("IVP13DSystemSimple controller was = "+str(controller));
103  }
104 }

◆ erase()

void IVP13DSystemSimple::erase ( )
privatevirtualinherited

Implements IVP1System.

Definition at line 173 of file IVP13DSystemSimple.cxx.

174 {
175  if(VP1Msg::verbose()){
176  messageVerbose("IVP13DSystemSimple::erase() start");
177  }
178  assert(m_d->wascreated);
179  assert(m_d->wasrefreshed);
180 
181  bool saveE = m_d->rootE->enableNotify(false);
182 
183  systemerase();
184  if(VP1Msg::verbose()){
185  messageVerbose("IVP13DSystemSimple::erase() Removing all event objects from scene");
187  }
188  m_d->rootE->removeAllChildren();
189 
190  if (saveE) {
191  m_d->rootE->enableNotify(true);
192  m_d->rootE->touch();
193  }
194 
195  m_d->wasrefreshed=false;
196  if(VP1Msg::verbose()){
197  messageVerbose("IVP13DSystemSimple::erase() end");
198  }
199 }

◆ eventStore()

StoreGateSvc * IVP1System::eventStore ( ) const
inherited

Definition at line 312 of file IVP1System.cxx.

313 {
314  return VP1AthenaPtrs::eventStore();
315 }

◆ filterTrack()

void VP1BPhysSystem::filterTrack ( SoSeparator *  root,
const Rec::TrackParticleContainer partCont,
double  pt,
double  eta,
double  phi,
double  d0,
double  z0,
double  x,
double  y,
double  z,
unsigned long  color,
std::vector< const Rec::TrackParticle * > *  selectedParticles 
)
private

drawing methods *******************************************************************

Definition at line 349 of file VP1BPhysSystem.cxx.

353 {
354  messageDebug("in filterTrack");
355  //loop over TrackParticles
356  Rec::TrackParticleContainer::const_iterator partItr, partItrEnd = partCont->end();
357  for ( partItr = partCont->begin() ; partItr != partItrEnd; ++partItr) {
358 
359  double trk_qOverP = (*partItr)->measuredPerigee()->parameters()[Trk::qOverP];
360  double trk_theta = (*partItr)->measuredPerigee()->parameters()[Trk::theta];
361 // double trk_phi = (*partItr)->measuredPerigee()->parameters()[Trk::phi];
362 
363  double trk_pt = fabs(1./trk_qOverP)*sin(trk_theta);
364  double trk_eta = -log(tan(trk_theta/2));
365 
366  //identify selected track
367  if(fabs(trk_pt - pt)<0.1 && fabs(trk_eta - eta)<0.01) {
368  drawCutoffTrackParticle(root, *partItr, x, y, z, color);
369  if(selectedParticles!=nullptr) {
370  selectedParticles->push_back(*partItr);
371  }
372  }
373  }
374  messageDebug("leaving filterTrack");
375 
376 }

◆ findClosestApproach()

std::vector< Amg::Vector3D > * VP1BPhysSystem::findClosestApproach ( std::vector< Amg::Vector3D > *  points,
double  x,
double  y,
double  z 
)
private

Definition at line 632 of file VP1BPhysSystem.cxx.

632  {
633  messageDebug("in findClosestApproach");
634 
635  std::vector<Amg::Vector3D >* pointsOut = new std::vector<Amg::Vector3D >();
636 
637  //check # of points
638  if(points->size()<2) return pointsOut;
639 
640  double lastDist = 1e10;
641  Amg::Vector3D point = points->at(0);
642  std::vector<Amg::Vector3D >::iterator startFrom = (points->begin())+1;
643 
644  //find the closest approach
646  for(it = points->begin(); (it+1) != itE; ++it) {
647  CLHEP::Hep3Vector p = CLHEP::Hep3Vector((*(it+1)).x()-(*it).x(), (*(it+1)).y()-(*it).y(), (*(it+1)).z()-(*it).z());
648  CLHEP::Hep3Vector v = CLHEP::Hep3Vector(x - (*it).x(), y - (*it).y(), z - (*it).z());
649 
650  //projection of v into the direction of p
651  double proj = v.dot(p.unit());
652  CLHEP::Hep3Vector vect = p.unit();
653  vect *= proj;
654 
655  //check that projection lies inside the track segment
656  if(proj<0 || proj > p.mag()) continue;
657 
658  //check distance to the segment (Pythagorean theroem)
659  double dist = sqrt(p.mag2() - proj*proj);
660  if(dist<lastDist) {
661  lastDist = dist;
662  point = Amg::Vector3D((*it).x() + vect.x(), (*it).y() + vect.y(), (*it).z() + vect.z());
663  startFrom = it+1;
664  }
665  }
666 
667  //create new cut-off track
668  pointsOut->push_back(point);
669  for(it = startFrom; it!=itE; ++it) {
670  pointsOut->push_back(*it);
671  }
672 
673  messageDebug("leaving findClosestApproach");
674  return pointsOut;
675 
676 }

◆ getCameraList()

std::set< SoCamera * > IVP13DSystem::getCameraList ( )
inherited

Definition at line 395 of file IVP13DSystem.cxx.

396 {
397  std::set<SoCamera*> cameralist = m_d->staticcameras;
398  std::set<SoQtViewer*>::const_iterator it, itE=m_d->viewers.end();
399  for (it=m_d->viewers.begin();it!=itE;++it) {
400  SoCamera*cam = (*it)->getCamera();
401  if (cam)
402  cameralist.insert(cam);
403  }
404 
405  //m_d->camerasfromviewer
406  return cameralist;
407 }

◆ getColor()

void VP1BPhysSystem::getColor ( unsigned long  icolor,
double &  r,
double &  g,
double &  b 
)
private

Definition at line 1059 of file VP1BPhysSystem.cxx.

1059  {
1060  messageDebug("in getColor");
1061 
1062  unsigned long red = icolor/65536;
1063  icolor -= red*65536;
1064 
1065  unsigned long green = icolor/256;
1066  icolor -= green*256;
1067 
1068  unsigned long blue = icolor;
1069 
1070  r=red/255.;
1071  g=green/255.;
1072  b=blue/255.;
1073 
1074  messageDebug("leaving getColor");
1075 
1076 }

◆ getPoints() [1/2]

std::vector< Amg::Vector3D > * VP1BPhysSystem::getPoints ( const Rec::TrackParticle part)
private

Definition at line 616 of file VP1BPhysSystem.cxx.

616  {
617  messageDebug("in getPoints(Rec::TrackParticle)");
618 
619  //creating Trk::Track from TrackParticle
620  const Trk::Track *track = getTrack(part);
621 
622  std::vector<Amg::Vector3D >* points = getPoints(track);
623 
624  //cleaning up
625  delete track;
626 
627  //return
628  messageDebug("leaving getPoints(Rec::TrackParticle)");
629  return points;
630 }

◆ getPoints() [2/2]

std::vector< Amg::Vector3D > * VP1BPhysSystem::getPoints ( const Trk::Track track)
private

Definition at line 565 of file VP1BPhysSystem.cxx.

565  {
566 
567  messageDebug("in getPoints(Trk::Track)");
568 
569  //retrieve/create VP1Extrapolator
570 
571  messageDebug("Retrieving propagator...");
572  Trk::IExtrapolator* propagator = nullptr;
573  VP1ToolAccessHelper toolaccess(this);
574  propagator = toolaccess.getToolPointer<Trk::IExtrapolator>("Trk::Extrapolator/VP1Extrapolator",false/*silent*/,true/*create if not exists*/);
575  if(propagator == nullptr) {
576  message("Error: propagator Trk::Extrapolator/VP1Extrapolator couldn't be created");
577  }
578  messageDebug("...done");
579 
580  messageDebug("Creating propagationHelper...");
581  TrackPropagationHelper* propagationHelper = new TrackPropagationHelper(this);
582  messageDebug("...done");
583 
584  std::vector< Amg::Vector3D >* points = new std::vector<Amg::Vector3D >();
585 
586 // propagator = NULL;
587  //propagate track in magnetic field
588  if(propagator!=nullptr && propagationHelper!=nullptr) {
589  messageDebug("Starting propagator...");
590  propagationHelper->makePointsCharged(*points,track,propagator);
591  messageDebug("..done");
592  } else {
593  //if no propagator is initialized we use straight segments instead
594 
595  const DataVector<const Trk::TrackParameters> *params = track->trackParameters();
596  //Just a sanity check:
597  if ( !params ) {
598  message("Error: no track parameters");
599  }else{
601  for (it = params->begin();it!=itE;++it) {
602  points->push_back(Amg::Vector3D((*it)->position().x(),(*it)->position().y(),(*it)->position().z()));
603  }
604  }
605  }
606 
607  //cleaning up
608  delete propagationHelper;
609 
610  //return
611  messageDebug("leaving getPoints(Trk::Track)");
612  return points;
613 
614 }

◆ getRefittedTrack()

const Trk::Track * VP1BPhysSystem::getRefittedTrack ( const Amg::Vector3D pos,
const Amg::Vector3D mom,
double  charge 
)
private

Definition at line 1021 of file VP1BPhysSystem.cxx.

1021  {
1022 
1023 
1024  const Amg::Vector3D& pos(std::move(position));
1025  const Amg::Vector3D& mom(std::move(momentum));
1026 
1027  // init the error matrix
1028  AmgSymMatrix(5) covMtxP;
1029  covMtxP.setIdentity();
1030 
1031  AmgSymMatrix(5) errMatr = covMtxP;
1032  Trk::Perigee * measuredPerigee = new Trk::Perigee( pos, mom, charge, pos, std::move(errMatr) );
1033 
1034  //creates parameter base for the new track
1035  const Trk::TrackParameters* p = dynamic_cast<const Trk::TrackParameters* >(measuredPerigee);
1036 
1037  //TODO: check parameters safety
1038 
1039  //creates a vector of TracksStates on surface
1040  auto trackStateOnSurfaces = std::make_unique<Trk::TrackStates>();
1041  trackStateOnSurfaces->push_back(new Trk::TrackStateOnSurface(nullptr,p->uniqueClone(),nullptr));
1042 
1043  //create track
1044 #ifdef TRKTRACK_TRACKINFO_H
1046  const Trk::Track * trk = new Trk::Track(ti,std::move(trackStateOnSurfaces)/*track assumes ownership*/,nullptr/*fitquality*/);
1047 #else
1048  const Trk::Track * trk = new Trk::Track(Trk::Track::unknown, std::move(trackStateOnSurfaces)/*track assumes ownership*/,
1049  0/*fitquality*/,Trk::pion);
1050 #endif
1051 
1052  return trk;
1053 
1054 
1055 }

◆ getSceneGraph()

SoSeparator * IVP13DSystemSimple::getSceneGraph ( ) const
privatevirtualinherited

Implements IVP13DSystem.

Definition at line 127 of file IVP13DSystemSimple.cxx.

128 {
129  return static_cast<SoSeparator*>(m_d->root);
130 }

◆ getTrack()

const Trk::Track * VP1BPhysSystem::getTrack ( const Rec::TrackParticle trackparticle)
private

utils *****************************************************************************

Definition at line 960 of file VP1BPhysSystem.cxx.

960  {
961  messageDebug("in getTrack");
962 
963  messageDebug("Retrieving track parameters...");
964 
966  std::vector< const Trk::TrackParameters* > trackpars;
967  trackpars = trackparticle->trackParameters();
968 
969  auto trackStateOnSurfaces = std::make_unique<Trk::TrackStates>();
970  messageDebug("...done");
971 
972  if (!trackpars.empty()) {
973  bool needresorting = trackpars.at(0)!=trackparticle->perigee();//Needed since TrackParticles are (at the moment)
974  //created with the first parameter put last
975  messageDebug("resorting...");
976  if (needresorting) {
977  messageDebug("dynamic cast");
978 
979  //const Trk::ParametersT<Trk::Charged>* p = dynamic_cast<const Trk::ParametersT<Trk::Charged>* >(trackpars.at(trackpars.size()-1));
980  const Trk::TrackParameters* p = dynamic_cast<const Trk::TrackParameters* >(trackpars.at(trackpars.size()-1));
981 
982  messageDebug("new TrackStateOnSurface");
983 
984  if (p) trackStateOnSurfaces->push_back(new Trk::TrackStateOnSurface(nullptr,p->uniqueClone(),nullptr));
985  }
986  unsigned limit(needresorting?trackpars.size()-1:trackpars.size());
987  messageDebug("...done");
988 
989  //NB: We only ever created this handle if charge()!=0.0:
990  messageDebug("Filling the vector...");
991  for (unsigned i = 0; i < limit; ++i) {
992 // const Trk::ParametersT<Trk::Charged>* p = dynamic_cast<const Trk::ParametersT<Trk::Charged>* >(trackpars.at(i));
993  const Trk::TrackParameters* p = dynamic_cast<const Trk::TrackParameters* >(trackpars.at(i));
994  if (!p)
995  continue;
996 /* if (!common()->trackSanityHelper()->isSafe(p))
997  continue;*/
998  trackStateOnSurfaces->push_back(new Trk::TrackStateOnSurface(nullptr,p->uniqueClone(),nullptr));
999  }
1000  messageDebug("...done");
1001 
1002  }
1003 
1004  messageDebug("Creating the track...");
1005 
1006 #ifdef TRKTRACK_TRACKINFO_H
1008  const Trk::Track * trk = new Trk::Track(ti,std::move(trackStateOnSurfaces)/*track assumes ownership*/,nullptr/*fitquality*/);
1009 #else
1010  const Trk::Track * trk = new Trk::Track(Trk::Track::unknown, std::move(trackStateOnSurfaces)/*track assumes ownership*/,
1011  0/*fitquality*/,Trk::pion);
1012 #endif
1013 
1014  messageDebug("...done");
1015 
1016  messageDebug("leaving getTrack");
1017  return trk;
1018 
1019 }

◆ inactiveSystemTurnedActive

void IVP1System::inactiveSystemTurnedActive ( )
signalinherited

◆ information()

const QString & IVP1System::information ( ) const
inherited

Definition at line 56 of file IVP1System.cxx.

57 {
58  return m_d->information;
59 }

◆ isRefreshing()

bool IVP1System::isRefreshing ( )
privateinherited

Definition at line 108 of file IVP1System.cxx.

109 {
110  return m_d->refreshing;
111 }

◆ itemFromSystemSelected

void IVP13DSystem::itemFromSystemSelected ( )
signalinherited

◆ loadFile

void VP1BPhysSystem::loadFile ( )
privateslot

slots *****************************************************************************

Definition at line 770 of file VP1BPhysSystem.cxx.

770  {
771 
772  messageDebug("in loadFile");
773 
774  QString fileName = QFileDialog::getOpenFileName(nullptr, tr("Open File"),tr("."),tr("ROOT files (*.root)"));
775  if(fileName.isEmpty()) return;
776 
777  m_c->ui.leFileName->setText(fileName);
779 
780 
781  //close previous file
782  if(m_rootFile!=nullptr) {
783  m_rootFile->Close();
784 
785  if(m_br!=nullptr) {
786  delete m_br;
787  m_br = nullptr;
788  }
789 
790  m_rootFile = nullptr;
791  m_tree = nullptr;
792  }
793 
794  //try to open a new file
795  m_rootFile = TFile::Open(m_fileName.toStdString().c_str());
796  if(m_rootFile!=nullptr && !m_rootFile->IsZombie()) {
797  m_tree = (TTree*)m_rootFile->Get("vp1bphys");
798  if(m_tree!=nullptr) {
799  m_tree->BuildIndex("runNum","evtNum");
800  m_br = new Br();
801  m_br->init(m_tree);
802  m_c->ui.lStatus->setText("");
803  }else{
804  m_c->ui.lStatus->setText("File doesn't contain vp1bphys tree");
805  message("File doesn't contain vp1bphys tree");
806  }
807  }else{
808  m_c->ui.lStatus->setText("File doesn't exist");
809  message("File doesn't exist");
810  m_tree = nullptr;
811  }
812 
813  if(m_sg!=nullptr && m_root!=nullptr) actualBuild();
814  updateGUI();
815 
816  messageDebug("leaving loadFile");
817 }

◆ message() [1/3]

void IVP1System::message ( const QString &  str) const
inherited

Definition at line 336 of file IVP1System.cxx.

337 {
338  if (receivers(SIGNAL(sysmessage(QString))) > 0){
339  sysmessage(str);
340  }
341  else{
342  std::cout<<VP1Msg::prefix_msg()<<" ["<<m_d->name.toStdString()<<"]: "<<str.toStdString()<<std::endl;
343  }
344 }

◆ message() [2/3]

void IVP1System::message ( const QString &  addtostart,
const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 400 of file IVP1System.cxx.

401 {
402  if (addtostart.isEmpty()) {
403  message(l,addtoend);
404  return;
405  }
406  if (addtoend.isEmpty()) {
407  for (QString s : l)
408  message(addtostart+s);
409  } else {
410  for (QString s : l)
411  message(addtostart+s+addtoend);
412  }
413 }

◆ message() [3/3]

void IVP1System::message ( const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 362 of file IVP1System.cxx.

363 {
364  if (addtoend.isEmpty()) {
365  for (QString s : l)
366  message(s);
367  } else {
368  for (QString s : l)
369  message(s+addtoend);
370  }
371 }

◆ messageDebug() [1/3]

void IVP1System::messageDebug ( const QString &  str) const
inherited

Definition at line 347 of file IVP1System.cxx.

348 {
349  if (VP1Msg::debug())
350  std::cout<<VP1Msg::prefix_debug()<<" ["<<m_d->name.toStdString()<<"]: "<<str.toStdString()<<std::endl;
351 }

◆ messageDebug() [2/3]

void IVP1System::messageDebug ( const QString &  addtostart,
const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 416 of file IVP1System.cxx.

417 {
418  if (addtostart.isEmpty()) {
419  messageDebug(l,addtoend);
420  return;
421  }
422  if (addtoend.isEmpty()) {
423  for (QString s : l)
424  messageDebug(addtostart+s);
425  } else {
426  for (QString s : l)
427  messageDebug(addtostart+s+addtoend);
428  }
429 }

◆ messageDebug() [3/3]

void IVP1System::messageDebug ( const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 374 of file IVP1System.cxx.

375 {
376  if (addtoend.isEmpty()) {
377  for (QString s : l)
378  messageDebug(s);
379  } else {
380  for (QString s : l)
381  messageDebug(s+addtoend);
382  }
383 }

◆ messageVerbose() [1/3]

void IVP1System::messageVerbose ( const QString &  str) const
inherited

Definition at line 354 of file IVP1System.cxx.

355 {
356  if (VP1Msg::verbose())
357  std::cout<<VP1Msg::prefix_verbose()<<" ["<<m_d->name.toStdString()<<"]: "<<str.toStdString()<<std::endl;
358 }

◆ messageVerbose() [2/3]

void IVP1System::messageVerbose ( const QString &  addtostart,
const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 432 of file IVP1System.cxx.

433 {
434  if (!VP1Msg::verbose())
435  return;
436  if (addtostart.isEmpty()) {
437  messageVerbose(l,addtoend);
438  return;
439  }
440  if (addtoend.isEmpty()) {
441  for (QString s : l)
442  messageVerbose(addtostart+s);
443  } else {
444  for (QString s : l)
445  messageVerbose(addtostart+s+addtoend);
446  }
447 }

◆ messageVerbose() [3/3]

void IVP1System::messageVerbose ( const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 386 of file IVP1System.cxx.

387 {
388  if (!VP1Msg::verbose())
389  return;
390  if (addtoend.isEmpty()) {
391  for (QString s : l)
392  messageVerbose(s);
393  } else {
394  for (QString s : l)
395  messageVerbose(s+addtoend);
396  }
397 }

◆ name()

const QString & IVP1System::name ( ) const
inherited

Definition at line 50 of file IVP1System.cxx.

51 {
52  return m_d->name;
53 }

◆ needErase

void IVP1System::needErase ( )
signalinherited

◆ refresh()

void IVP13DSystemSimple::refresh ( StoreGateSvc storegate)
privatevirtualinherited

Implements IVP1System.

Definition at line 146 of file IVP13DSystemSimple.cxx.

147 {
148  assert(m_d->wascreated);
149  assert(!m_d->wasrefreshed);
150 
151  if (m_d->first) {
152  if(VP1Msg::verbose()){
153  messageVerbose("IVP13DSystemSimple first refresh - so calling create methods (i.e. delayed create).");
154  }
156  m_d->first = false;
157  m_d->root->removeChild(m_d->rootR);
159  m_d->root->addChild(m_d->rootR);
160  }
161 
162  m_d->root->removeChild(m_d->rootE);
163  updateGUI();
165  updateGUI();
166  m_d->root->addChild(m_d->rootE);
167 
168  m_d->wasrefreshed=true;
169 
170 }

◆ registerCamera()

void IVP13DSystem::registerCamera ( SoCamera *  camera)
inherited

Definition at line 410 of file IVP13DSystem.cxx.

410  {
411  if (!cam)
412  return;
413  m_d->staticcameras.insert(cam);
414  cam->ref();
415 }

◆ registerController()

void IVP1System::registerController ( QWidget *  w)
protectedinherited

Definition at line 224 of file IVP1System.cxx.

225 {
226  if (VP1Msg::verbose()) {
227  messageVerbose("registerController ");
228  messageVerbose("registerController m_d->canregistercontroller = "+QString(m_d->canregistercontroller?"true":"false"));
229  messageVerbose("registerController m_d->state==CONSTRUCTED = "+QString(m_d->state==CONSTRUCTED?"true":"false"));
230  messageVerbose("registerController m_d->controller==0 = "+QString(m_d->controller==0?"true":"false"));
231  messageVerbose("registerController w!=0 = "+QString(w!=0?"true":"false"));
232  }
234  message("ERROR: Please don't register controllers after create().");
235  if (m_d->state!=CONSTRUCTED)
236  message("ERROR: Please only register controllers in CONSTRUCTED state.");
237  if (!w) {
238  message("ERROR: Attempt to register null controller.");
239  return;
240  }
241  if (m_d->controller) {
242  message("ERROR: Attempt to register controller twice.");
243  return;
244  }
245  m_d->controller = w;
246  w->setParent(0);
247 }

◆ registerSelectionNode()

void IVP13DSystem::registerSelectionNode ( SoCooperativeSelection selection)
inherited

Definition at line 257 of file IVP13DSystem.cxx.

258 {
259  if (!selection) {
260  message("registerSelectionNode Error: NULL selection pointer!");
261  return;
262  }
264  message("registerSelectionNode Error: Trying to register selection node more than once!");
265  return;
266  }
267 
268  selection->addSelectionCallback( Imp::made_selection, selection );
269  selection->addDeselectionCallback( Imp::made_deselection, selection );
270  selection->addStartCallback( Imp::start_changeselection, this );
271  selection->addFinishCallback( Imp::finished_changeselection, this );
272  selection->addClickOutsideCallback( Imp::clickedoutside, this );
273 
275  selection->ref();
276 
277  messageVerbose("selection node registered");
278 }

◆ registerViewer()

void IVP13DSystem::registerViewer ( SoQtViewer *  viewer)
inherited

Definition at line 418 of file IVP13DSystem.cxx.

419 {
420  if (!viewer)
421  return;
422  m_d->viewers.insert(viewer);
423 }

◆ restoreFromState()

void IVP1System::restoreFromState ( QByteArray  ba)
virtualinherited

Reimplemented in VP1GeometrySystem, VP1TrackSystem, VP1PrepRawDataSystem, VP1AODSystem, VP1MCSystem, VP1RawDataSystem, VP1PartSpectSystem, VP1BanksSystem, VP1CaloClusterSystem, VP1TrackingGeometrySystem, VP1GuideLineSystem, VP1CaloReadoutSystem, VP1CaloHitLegoSystem, VP1CaloLegoSystem, VP1MissingEtSystem, VP1HVLegoSystem, VP1VertexSystem, VP1CaloCellSystem, and VP1ExtraInputSystem.

Definition at line 302 of file IVP1System.cxx.

303 {
304  if (VP1Msg::verbose()){
305  messageVerbose("base restoreFromState called");
306  }
307  if (!ba.isEmpty())
308  message("Error in IVP1System::restoreFromState: Received non-empty saved state.");
309 }

◆ saveState()

QByteArray IVP1System::saveState ( )
virtualinherited

◆ serviceLocator()

ISvcLocator * IVP1System::serviceLocator ( ) const
inherited

Definition at line 324 of file IVP1System.cxx.

325 {
327 }

◆ setActiveState()

void IVP1System::setActiveState ( const ActiveState s,
const bool &  donttriggererase = true 
)
privateinherited

Definition at line 162 of file IVP1System.cxx.

163 {
164  //First handle case where we dont actually change state. Only
165  //special consideration is OFF->OFF where we have to do something if
166  //we need to erase:
167  if (m_d->activeState==OFF&&s==OFF&&(m_d->state==REFRESHED||m_d->refreshing)&&!donttriggererase) {
168  needErase();
170  return;
171  } else if (m_d->activeState==s) {
173  return;
174  }
175 
176  //Ok, we know that we are either ON->OFF or OFF->ON.
177  m_d->activeState = s;
178 
179  if (s==ON) {
180  //OFF->ON: We might need a refresh, so send out a signal for the scheduler:
182  } else {
183  //ON->OFF: We might need an erase signal:
184  if ((m_d->state==REFRESHED||m_d->refreshing)&&!donttriggererase) {
185  needErase();
186  }
187  }
189 }

◆ setCanRegisterController()

void IVP1System::setCanRegisterController ( const bool &  c)
privateinherited

Definition at line 285 of file IVP1System.cxx.

286 {
287  if (VP1Msg::verbose()){
288  messageVerbose("setCanRegisterController called with"+QString(c?"true":"false"));
289  }
291 }

◆ setChannel()

void IVP1System::setChannel ( IVP1ChannelWidget cw)
privateinherited

Definition at line 94 of file IVP1System.cxx.

95 {
96  if (VP1Msg::verbose()) {
97  messageVerbose("setChannel ");
98  messageVerbose("setChannel m_d->state==CONSTRUCTED = "+QString(m_d->state==CONSTRUCTED?"true":"false"));
99  messageVerbose("setChannel cw!=0 = "+QString(cw!=0?"true":"false"));
100  }
101  assert(!m_d->channel);
102  assert(cw);
103  assert(m_d->state==CONSTRUCTED);
104  m_d->channel = cw;
105 }

◆ setRefreshing()

void IVP1System::setRefreshing ( const bool &  b)
privateinherited

Definition at line 114 of file IVP1System.cxx.

115 {
116  if (VP1Msg::verbose()){
117  messageVerbose("setRefreshing() called with b="+QString(b?"true":"false"));
118  }
119  if (b) {
120  assert(m_d->state==ERASED);
121  } else {
122  assert(m_d->state==REFRESHED);
123  }
124  m_d->refreshing = b;
125 }

◆ setState()

void IVP1System::setState ( const State s)
privateinherited

Definition at line 141 of file IVP1System.cxx.

142 {
143 #ifndef NDEBUG
144  assert (m_d->state != s);
145  assert(s!=CONSTRUCTED);
146  if (s==REFRESHED) {
147  assert(m_d->state==ERASED);
148  }
149  if (s==ERASED) {
150  assert(m_d->state==REFRESHED||m_d->state==CONSTRUCTED);
151  }
152  if (s==UNCREATED) {
153  assert(m_d->state==ERASED);
154  }
155 #endif
156  m_d->state = s;
157  if (s==REFRESHED||s==ERASED)
159 }

◆ setUserSelectionNotificationsEnabled()

void IVP13DSystem::setUserSelectionNotificationsEnabled ( SoCooperativeSelection sel,
bool  enabled 
)
inherited

Definition at line 310 of file IVP13DSystem.cxx.

311 {
312  if (!selection) {
313  message("setUserSelectionNotificationsEnabled Error: NULL selection pointer!");
314  return;
315  }
317  message("setUserSelectionNotificationsEnabled Error: Called for selection which was never registered!");
318  return;
319  }
320  if (enabled != m_d->selectionsWithDisabledNotifications.contains(selection))
321  return;
322 
323  if (enabled)
325  else
327 
328 }

◆ sphereToggled

void VP1BPhysSystem::sphereToggled ( bool  checked)
privateslot

Definition at line 839 of file VP1BPhysSystem.cxx.

839  {
840 
841 
842  if(checked) {
843  messageDebug("show vertices as spheres");
844  m_vertexStyle=0;
845  }
846 
847  //apply
848  if(m_showVertices) {
850  for(; it!=m_vertexSwitches.end(); ++it) {
851  (*it)->whichChild = m_vertexStyle;
852  }
853  }
854 }

◆ state()

IVP1System::State IVP1System::state ( ) const
inherited

Definition at line 129 of file IVP1System.cxx.

130 {
131  return m_d->state;
132 }

◆ storeGate()

StoreGateSvc* IVP1System::storeGate ( ) const
inlineinherited

Definition at line 119 of file IVP1System.h.

119 { return eventStore(); }//OBSOLETE NAME. Use eventStore() instead.

◆ str() [1/30]

static QString VP1String::str ( const Amg::Vector3D t)
inlinestaticinherited

Definition at line 98 of file VP1String.h.

98 { return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [2/30]

static QString VP1String::str ( const bool  b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

53 { return b?"True":"False"; }

◆ str() [3/30]

static QString VP1String::str ( const char *  c)
inlinestaticinherited

Definition at line 50 of file VP1String.h.

50 { return c; }

◆ str() [4/30]

static QString VP1String::str ( const double &  d)
inlinestaticinherited

Definition at line 81 of file VP1String.h.

81 { return QString::number(d); }

◆ str() [5/30]

static QString VP1String::str ( const float &  f)
inlinestaticinherited

Definition at line 82 of file VP1String.h.

82 { return QString::number(f); }

◆ str() [6/30]

template<class T >
static QString VP1String::str ( const HepGeom::BasicVector3D< T > &  t)
inlinestaticinherited

Definition at line 95 of file VP1String.h.

95 { return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [7/30]

QString VP1String::str ( const QColor &  c)
staticinherited

Definition at line 30 of file VP1String.cxx.

31 {
32  return c.isValid() ? c.name() : "Invalid";
33 }

◆ str() [8/30]

template<class T >
static QString VP1String::str ( const QFlags< T > &  f)
inlinestaticinherited

Definition at line 91 of file VP1String.h.

91 { return "0x"+QString::number(f, 16).toUpper().rightJustified(8,'0'); }

◆ str() [9/30]

template<class T >
static QString VP1String::str ( const QList< T > &  t)
inlinestaticinherited

Definition at line 102 of file VP1String.h.

102 { return "QList of size"+QString::number(t.size()); }

◆ str() [10/30]

static QString VP1String::str ( const QString &  s)
inlinestaticinherited

Definition at line 49 of file VP1String.h.

49 { return s; }

◆ str() [11/30]

QString VP1String::str ( const SbColor &  c)
staticinherited

Definition at line 36 of file VP1String.cxx.

37 {
39 }

◆ str() [12/30]

QString VP1String::str ( const SbVec2d &  v)
staticinherited

Definition at line 61 of file VP1String.cxx.

61 { double x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [13/30]

QString VP1String::str ( const SbVec2f &  v)
staticinherited

Definition at line 62 of file VP1String.cxx.

62 { float x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [14/30]

QString VP1String::str ( const SbVec2s &  v)
staticinherited

Definition at line 63 of file VP1String.cxx.

63 { short x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [15/30]

QString VP1String::str ( const SbVec3d &  v)
staticinherited

Definition at line 64 of file VP1String.cxx.

64 { double x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [16/30]

QString VP1String::str ( const SbVec3f &  v)
staticinherited

Definition at line 65 of file VP1String.cxx.

65 { float x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [17/30]

QString VP1String::str ( const SbVec3s &  v)
staticinherited

Definition at line 66 of file VP1String.cxx.

66 { short x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [18/30]

QString VP1String::str ( const SbVec4d &  v)
staticinherited

Definition at line 67 of file VP1String.cxx.

67 { double x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [19/30]

QString VP1String::str ( const SbVec4f &  v)
staticinherited

Definition at line 68 of file VP1String.cxx.

68 { float x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [20/30]

template<class T >
static QString VP1String::str ( const T *  t)
inlinestaticinherited

Definition at line 87 of file VP1String.h.

87 { return str(static_cast<const void* >(t)); }

◆ str() [21/30]

QString VP1String::str ( const void *  p)
staticinherited

Definition at line 48 of file VP1String.cxx.

49 {
50  if (p) {
51  std::ostringstream s;
52  s << p;
53  // Explicitly naming QString here avoids a cppcheck warning.
54  return QString (s.str().c_str());
55  } else {
56  return "NULL";
57  }
58 }

◆ str() [22/30]

QString VP1String::str ( const VP1Interval i)
staticinherited

Definition at line 42 of file VP1String.cxx.

43 {
44  return i.toString();
45 }

◆ str() [23/30]

static QString VP1String::str ( int  n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

77 { return QString::number(n); }

◆ str() [24/30]

static QString VP1String::str ( long  n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

75 { return QString::number(n); }

◆ str() [25/30]

static QString VP1String::str ( qlonglong  n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

79 { return QString::number(n); }

◆ str() [26/30]

static QString VP1String::str ( qulonglong  n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

80 { return QString::number(n); }

◆ str() [27/30]

static QString VP1String::str ( short int  n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

73 { return QString::number(n); }

◆ str() [28/30]

static QString VP1String::str ( uint  n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

78 { return QString::number(n); }

◆ str() [29/30]

static QString VP1String::str ( ulong  n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

76 { return QString::number(n); }

◆ str() [30/30]

static QString VP1String::str ( unsigned short int  n)
inlinestaticinherited

Definition at line 74 of file VP1String.h.

74 { return QString::number(n); }

◆ sysmessage

void IVP1System::sysmessage ( QString  ) const
signalinherited

◆ systemcreate()

void IVP13DSystemSimple::systemcreate ( StoreGateSvc detstore)
virtualinherited

◆ systemerase()

void IVP13DSystemSimple::systemerase ( )
virtualinherited

Reimplemented in VP1TrackSystem, VP1AODSystem, VP1PrepRawDataSystem, VP1RawDataSystem, VP1CaloClusterSystem, VP1MissingEtSystem, VP1CaloHitLegoSystem, VP1CaloLegoSystem, VP1VertexSystem, and VP1CaloCellSystem.

Definition at line 28 of file IVP13DSystemSimple.cxx.

29 {
30  // messageVerbose("WARNING: Did not reimplement systemerase!");
31 }

◆ systemuncreate()

void IVP13DSystemSimple::systemuncreate ( )
virtualinherited

◆ toolSvc()

IToolSvc * IVP1System::toolSvc ( ) const
inherited

Definition at line 330 of file IVP1System.cxx.

331 {
332  return VP1AthenaPtrs::toolSvc();
333 }

◆ uncreate()

void IVP13DSystemSimple::uncreate ( )
privatevirtualinherited

Reimplemented from IVP1System.

Definition at line 202 of file IVP13DSystemSimple.cxx.

203 {
204 
205  if(VP1Msg::verbose()){
206  messageDebug("uncreate()...");
207  }
208 
209  assert(m_d->wascreated);
210  assert(!m_d->wasrefreshed);
211  m_d->rootE->enableNotify(false);
212  m_d->rootR->enableNotify(false);
213  systemuncreate();
214  m_d->root->removeAllChildren();
215  m_d->rootE->removeAllChildren();
216  m_d->rootR->removeAllChildren();
217  m_d->wascreated=false;
218 }

◆ unregisterSelectionNode()

void IVP13DSystem::unregisterSelectionNode ( SoCooperativeSelection selection)
inherited

Definition at line 281 of file IVP13DSystem.cxx.

282 {
283  if (!selection) {
284  message("unregisterSelectionNode Error: NULL selection pointer!");
285  return;
286  }
288  message("registerSelectionNode Error: Trying to unregister unknown selection node!");
289  return;
290  }
291 
292  selection->removeSelectionCallback( Imp::made_selection, selection );
293  selection->removeDeselectionCallback( Imp::made_deselection, selection );
294  selection->removeStartCallback( Imp::start_changeselection, this );
295  selection->removeFinishCallback( Imp::finished_changeselection, this );
296  selection->removeClickOutsideCallback( Imp::clickedoutside, this );
297 
301  selection->unref();
302 
303  messageVerbose("selection node unregistered");
304 
305 }

◆ updateGUI()

void IVP13DSystemSimple::updateGUI ( )
inlineinherited

Definition at line 89 of file IVP13DSystemSimple.h.

◆ userChangedSelection()

void IVP13DSystem::userChangedSelection ( SoCooperativeSelection ,
QSet< SoNode * >  ,
QSet< SoPath * >   
)
virtualinherited

◆ userClickedOnBgd()

void IVP13DSystem::userClickedOnBgd ( )
virtualinherited

Reimplemented in VP1AODSystem, VP1TrackSystem, VP1PrepRawDataSystem, and VP1CaloReadoutSystem.

Definition at line 62 of file IVP13DSystem.cxx.

62 {}

◆ userDeselectedSingleNode()

void IVP13DSystem::userDeselectedSingleNode ( SoCooperativeSelection ,
SoNode *  ,
SoPath *   
)
virtualinherited

Reimplemented in VP1AODSystem, VP1TrackSystem, and VP1PrepRawDataSystem.

Definition at line 60 of file IVP13DSystem.cxx.

60 {}

◆ userPickedNode()

void IVP13DSystemSimple::userPickedNode ( SoNode *  pickedNode,
SoPath *  pickedPath 
)
virtualinherited

◆ userSelectedSingleNode()

void IVP13DSystem::userSelectedSingleNode ( SoCooperativeSelection ,
SoNode *  ,
SoPath *   
)
virtualinherited

Reimplemented in VP1AODSystem, VP1TrackSystem, and VP1PrepRawDataSystem.

Definition at line 59 of file IVP13DSystem.cxx.

59 {}

◆ verbose()

static bool IVP1System::verbose ( )
inlinestaticinherited

Definition at line 86 of file IVP1System.h.

86 { return s_vp1verbose; }// Returns true if env var VP1_VERBOSE_OUTPUT=1

◆ warnOnDisabledNotifications()

void IVP13DSystemSimple::warnOnDisabledNotifications ( ) const
inherited

Definition at line 221 of file IVP13DSystemSimple.cxx.

222 {
223  QList<SoNode*> nodesR;
224  QList<SoNode*> nodesE;
227  if (!nodesR.isEmpty()) {
228  message("WARNING: Found "+str(nodesR.count())+" node"+QString(nodesR.count()>1?"s":0)+" with disabled notifications in permanent scenegraph:");
229  for (SoNode * node : nodesR)
230  message(" => Node ("+str(node)+") of type "+QString(node->getTypeId().getName().getString())+", named "+QString(node->getName().getString()));
231  }
232  if (!nodesE.isEmpty()) {
233  message("WARNING: Found "+str(nodesE.count())+" node"+QString(nodesE.count()>1?"s":0)+" with disabled notifications in event scenegraph:");
234  for (SoNode * node : nodesE)
235  message(" => Node ("+str(node)+") of type "+QString(node->getTypeId().getName().getString())+", named "+QString(node->getName().getString()));
236  }
237 }

Member Data Documentation

◆ m_br

Br* VP1BPhysSystem::m_br
private

Definition at line 167 of file VP1BPhysSystem.h.

◆ m_c

Clockwork* VP1BPhysSystem::m_c
private

Definition at line 170 of file VP1BPhysSystem.h.

◆ m_d

Imp* IVP13DSystemSimple::m_d
privateinherited

Definition at line 80 of file IVP13DSystemSimple.h.

◆ m_fileName

QString VP1BPhysSystem::m_fileName
private

Definition at line 147 of file VP1BPhysSystem.h.

◆ m_neutralSwitches

std::vector<SoSwitch*> VP1BPhysSystem::m_neutralSwitches
private

Definition at line 164 of file VP1BPhysSystem.h.

◆ m_overlapSwitches

std::vector<SoSwitch*> VP1BPhysSystem::m_overlapSwitches
private

Definition at line 162 of file VP1BPhysSystem.h.

◆ m_refittedSwitches

std::vector<SoSwitch*> VP1BPhysSystem::m_refittedSwitches
private

Definition at line 165 of file VP1BPhysSystem.h.

◆ m_root

SoSeparator* VP1BPhysSystem::m_root
private

Definition at line 150 of file VP1BPhysSystem.h.

◆ m_rootFile

TFile* VP1BPhysSystem::m_rootFile
private

Definition at line 145 of file VP1BPhysSystem.h.

◆ m_sg

StoreGateSvc* VP1BPhysSystem::m_sg
private

Definition at line 149 of file VP1BPhysSystem.h.

◆ m_showAll

bool VP1BPhysSystem::m_showAll
private

Definition at line 156 of file VP1BPhysSystem.h.

◆ m_showNeutral

bool VP1BPhysSystem::m_showNeutral
private

Definition at line 158 of file VP1BPhysSystem.h.

◆ m_showRefitted

bool VP1BPhysSystem::m_showRefitted
private

Definition at line 159 of file VP1BPhysSystem.h.

◆ m_showSignal

bool VP1BPhysSystem::m_showSignal
private

Definition at line 157 of file VP1BPhysSystem.h.

◆ m_showVertices

bool VP1BPhysSystem::m_showVertices
private

Definition at line 153 of file VP1BPhysSystem.h.

◆ m_signalSwitches

std::vector<SoSwitch*> VP1BPhysSystem::m_signalSwitches
private

Definition at line 163 of file VP1BPhysSystem.h.

◆ m_trackSwitches

std::vector<SoSwitch*> VP1BPhysSystem::m_trackSwitches
private

Definition at line 161 of file VP1BPhysSystem.h.

◆ m_tree

TTree* VP1BPhysSystem::m_tree
private

Definition at line 146 of file VP1BPhysSystem.h.

◆ m_vertexStyle

int VP1BPhysSystem::m_vertexStyle
private

Definition at line 152 of file VP1BPhysSystem.h.

◆ m_vertexSwitches

std::vector<SoSwitch*> VP1BPhysSystem::m_vertexSwitches
private

Definition at line 154 of file VP1BPhysSystem.h.

◆ s_vp1verbose

const bool IVP1System::s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
staticprivateinherited

Definition at line 158 of file IVP1System.h.


The documentation for this class was generated from the following files:
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
IVP13DSystemSimple::systemuncreate
virtual void systemuncreate()
Definition: IVP13DSystemSimple.cxx:27
Br::vtx_x
double vtx_x
Definition: VP1BPhysConvertor.h:22
Br::neutral_refitted_pz
std::vector< double > * neutral_refitted_pz
Definition: VP1BPhysConvertor.h:50
VP1BPhysSystem::m_trackSwitches
std::vector< SoSwitch * > m_trackSwitches
Definition: VP1BPhysSystem.h:161
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
Br::vtx_xy
double vtx_xy
Definition: VP1BPhysConvertor.h:28
beamspotman.r
def r
Definition: beamspotman.py:676
VP1BPhysSystem::crossToggled
void crossToggled(bool checked)
Definition: VP1BPhysSystem.cxx:856
IVP1System::Imp::contact_info
const QString contact_info
Definition: IVP1System.cxx:39
Trk::TrackInfo
Contains information about the 'fitter' of this track.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:32
IVP13DSystem::Imp::selection2system
static std::map< SoCooperativeSelection *, IVP13DSystem * > selection2system
Definition: IVP13DSystem.cxx:46
VP1BPhysSystem::drawRefittedTrack
void drawRefittedTrack(SoSeparator *root, double x, double y, double z, double px, double py, double pz, double charge, unsigned long color)
Definition: VP1BPhysSystem.cxx:487
Br::track_refitted_py
std::vector< double > * track_refitted_py
Definition: VP1BPhysConvertor.h:42
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
checkFileSG.line
line
Definition: checkFileSG.py:75
color
Definition: jFexInputByteStreamTool.cxx:25
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
test_pyathena.px
px
Definition: test_pyathena.py:18
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:128
IVP13DSystem::Imp::made_selection
static void made_selection(void *userdata, SoPath *path)
Definition: IVP13DSystem.cxx:192
Br::vtx_yz
double vtx_yz
Definition: VP1BPhysConvertor.h:30
PlotCalibFromCool.yy
yy
Definition: PlotCalibFromCool.py:714
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
IVP13DSystemSimple::IVP13DSystemSimple
IVP13DSystemSimple(const QString &name, const QString &information, const QString &contact_info)
Definition: IVP13DSystemSimple.cxx:50
IVP13DSystem::Imp::viewers
std::set< SoQtViewer * > viewers
Definition: IVP13DSystem.cxx:37
IVP13DSystemSimple::buildController
virtual QWidget * buildController()
Definition: IVP13DSystemSimple.cxx:24
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
VP1BPhysSystem::actualBuild
void actualBuild()
Definition: VP1BPhysSystem.cxx:190
VP1BPhysSystem::drawTrackParticle
void drawTrackParticle(SoSwitch *trackSwitch, const Rec::TrackParticle *part, unsigned long color)
Definition: VP1BPhysSystem.cxx:419
VP1BPhysSystem::m_showAll
bool m_showAll
Definition: VP1BPhysSystem.h:156
VP1BPhysSystem::m_showNeutral
bool m_showNeutral
Definition: VP1BPhysSystem.h:158
VP1BPhysSystem::m_fileName
QString m_fileName
Definition: VP1BPhysSystem.h:147
Br::track_charge
std::vector< double > * track_charge
Definition: VP1BPhysConvertor.h:40
VP1BPhysSystem::displayNeutralChanged
void displayNeutralChanged(int state)
Definition: VP1BPhysSystem.cxx:945
TRTCalib_Extractor.det
det
Definition: TRTCalib_Extractor.py:36
make_unique
std::unique_ptr< T > make_unique(Args &&... args)
Definition: SkimmingToolEXOT5.cxx:23
IVP1System::CONSTRUCTED
@ CONSTRUCTED
Definition: IVP1System.h:143
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
Br::vtx_color
unsigned long vtx_color
Definition: VP1BPhysConvertor.h:32
Br::vtx_y
double vtx_y
Definition: VP1BPhysConvertor.h:23
hist_file_dump.d
d
Definition: hist_file_dump.py:137
VP1BPhysSystem::drawAllTrackParticles
void drawAllTrackParticles(StoreGateSvc *sg, SoSeparator *root, std::vector< const Rec::TrackParticle * > *selectedParticles)
Definition: VP1BPhysSystem.cxx:378
VP1BPhysSystem::displayAllTracksChanged
void displayAllTracksChanged(int state)
Definition: VP1BPhysSystem.cxx:888
fillPileUpNoiseLumi.connect
string connect
Definition: fillPileUpNoiseLumi.py:70
xAOD::JetInput::Track
@ Track
Definition: JetContainerInfo.h:61
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
IVP13DSystemSimple::Imp::rootR
SoSeparator * rootR
Definition: IVP13DSystemSimple.cxx:37
VP1BPhysSystem::m_rootFile
TFile * m_rootFile
Definition: VP1BPhysSystem.h:145
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
skel.it
it
Definition: skel.GENtoEVGEN.py:396
IVP1System::m_d
Imp * m_d
Definition: IVP1System.h:130
test_pyathena.pt
pt
Definition: test_pyathena.py:11
Br::track_z0
std::vector< double > * track_z0
Definition: VP1BPhysConvertor.h:39
IVP13DSystemSimple::Imp::rootE
SoSeparator * rootE
Definition: IVP13DSystemSimple.cxx:38
Br::track_color
std::vector< unsigned long > * track_color
Definition: VP1BPhysConvertor.h:44
VP1BPhysSystem::m_refittedSwitches
std::vector< SoSwitch * > m_refittedSwitches
Definition: VP1BPhysSystem.h:165
VP1BPhysSystem::createCross
SoLineSet * createCross(double extent)
Definition: VP1BPhysSystem.cxx:1078
IVP1System::inactiveSystemTurnedActive
void inactiveSystemTurnedActive()
VP1Msg::debug
static bool debug()
Definition: VP1Msg.h:32
uniqueClone
std::unique_ptr< T_Obj > uniqueClone(const T_Obj *obj)
Definition: ObjContainer.h:49
TrackPropagationHelper
Definition: TrackPropagationHelper.h:40
Br::track_refitted_pz
std::vector< double > * track_refitted_pz
Definition: VP1BPhysConvertor.h:43
VP1BPhysSystem::getRefittedTrack
const Trk::Track * getRefittedTrack(const Amg::Vector3D &pos, const Amg::Vector3D &mom, double charge)
Definition: VP1BPhysSystem.cxx:1021
VP1BPhysSystem::m_showVertices
bool m_showVertices
Definition: VP1BPhysSystem.h:153
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
IVP1System::Imp::refreshing
bool refreshing
Definition: IVP1System.cxx:45
VP1BPhysSystem::m_sg
StoreGateSvc * m_sg
Definition: VP1BPhysSystem.h:149
IVP13DSystem::Imp::clickedoutside
static void clickedoutside(void *userdata, SoCooperativeSelection *sel)
Definition: IVP13DSystem.cxx:65
sendEI_SPB.root
root
Definition: sendEI_SPB.py:34
Br::evtNum
int evtNum
Definition: VP1BPhysSystem.h:53
IVP1ChannelWidget::emitRefreshInfoChanged
void emitRefreshInfoChanged()
Definition: IVP1ChannelWidget.cxx:268
Br::vtx_z
double vtx_z
Definition: VP1BPhysConvertor.h:24
VP1BPhysSystem::drawCutoffTrackParticle
void drawCutoffTrackParticle(SoSeparator *root, const Rec::TrackParticle *part, double x, double y, double z, unsigned long color)
Definition: VP1BPhysSystem.cxx:436
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
skel.runNum
runNum
Definition: skel.ABtoEVGEN.py:137
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
VP1BPhysSystem::loadFile
void loadFile()
slots *****************************************************************************
Definition: VP1BPhysSystem.cxx:770
x
#define x
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
IVP13DSystemSimple::buildPermanentSceneGraph
virtual void buildPermanentSceneGraph(StoreGateSvc *detstore, SoSeparator *root)
Definition: IVP13DSystemSimple.cxx:25
Br::track_refitted_px
std::vector< double > * track_refitted_px
Definition: VP1BPhysConvertor.h:41
AmgSymMatrix
#define AmgSymMatrix(dim)
Definition: EventPrimitives.h:50
IVP1System::s_vp1verbose
static const bool s_vp1verbose
Definition: IVP1System.h:158
TruthTest.itE
itE
Definition: TruthTest.py:25
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
xAOD::TrackParameters
TrackParameters_v1 TrackParameters
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParameters.h:11
VP1BPhysSystem::m_showSignal
bool m_showSignal
Definition: VP1BPhysSystem.h:157
IVP1System::state
State state() const
Definition: IVP1System.cxx:129
StoreGateSvc::retrieve
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
VP1BPhysSystem::m_vertexSwitches
std::vector< SoSwitch * > m_vertexSwitches
Definition: VP1BPhysSystem.h:154
IVP13DSystemSimple::Imp::root
SoCooperativeSelection * root
Definition: IVP13DSystemSimple.cxx:36
VP1BPhysSystem::m_c
Clockwork * m_c
Definition: VP1BPhysSystem.h:169
IVP13DSystemSimple::buildEventSceneGraph
virtual void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)=0
Br
Definition: VP1BPhysConvertor.h:14
IVP1System::needErase
void needErase()
VP1BPhysSystem::displayOrigSignalChanged
void displayOrigSignalChanged(int state)
Definition: VP1BPhysSystem.cxx:907
OfflineHitType::Perigee
@ Perigee
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
Br::neutral_refitted_py
std::vector< double > * neutral_refitted_py
Definition: VP1BPhysConvertor.h:49
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
FortranAlgorithmOptions.fileName
fileName
Definition: FortranAlgorithmOptions.py:13
VP1Msg::prefix_msg
static const char * prefix_msg()
Definition: VP1Msg.h:56
VP1BPhysSystem::drawPoints
void drawPoints(SoSwitch *trackSwitch, std::vector< Amg::Vector3D > *points, unsigned long color, double width, bool isNeutral)
Definition: VP1BPhysSystem.cxx:515
ParticleGun_EoverP_Config.momentum
momentum
Definition: ParticleGun_EoverP_Config.py:63
Trk::TrackStates
DataVector< const Trk::TrackStateOnSurface > TrackStates
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:30
IVP1System::Imp::information
const QString information
Definition: IVP1System.cxx:38
VP1BPhysSystem::sphereToggled
void sphereToggled(bool checked)
Definition: VP1BPhysSystem.cxx:839
IVP13DSystem::Imp::start_changeselection
static void start_changeselection(void *userdata, SoSelection *sel)
Definition: IVP13DSystem.cxx:94
lumiFormat.i
int i
Definition: lumiFormat.py:85
Br::vtx_xz
double vtx_xz
Definition: VP1BPhysConvertor.h:29
z
#define z
beamspotman.n
n
Definition: beamspotman.py:731
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
Trk::theta
@ theta
Definition: ParamDefs.h:66
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IVP13DSystemSimple::systemerase
virtual void systemerase()
Definition: IVP13DSystemSimple.cxx:28
Br::track_refitted_color
std::vector< unsigned long > * track_refitted_color
Definition: VP1BPhysConvertor.h:45
VP1BPhysSystem::m_overlapSwitches
std::vector< SoSwitch * > m_overlapSwitches
Definition: VP1BPhysSystem.h:162
Trk::pion
@ pion
Definition: ParticleHypothesis.h:29
Br::track_pt
std::vector< double > * track_pt
Definition: VP1BPhysConvertor.h:35
Amg::pz
@ pz
Definition: GeoPrimitives.h:40
VP1BPhysSystem::findClosestApproach
std::vector< Amg::Vector3D > * findClosestApproach(std::vector< Amg::Vector3D > *points, double x, double y, double z)
Definition: VP1BPhysSystem.cxx:632
Br::vtx_zz
double vtx_zz
Definition: VP1BPhysConvertor.h:27
IVP1System::REFRESHED
@ REFRESHED
Definition: IVP1System.h:143
isNeutral
bool isNeutral(const T &p)
Definition: AtlasPID.h:546
IVP1System::Imp::activeState
ActiveState activeState
Definition: IVP1System.cxx:43
VP1BPhysSystem::getColor
void getColor(unsigned long icolor, double &r, double &g, double &b)
Definition: VP1BPhysSystem.cxx:1059
hist_file_dump.f
f
Definition: hist_file_dump.py:135
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
IVP13DSystemSimple::systemcreate
virtual void systemcreate(StoreGateSvc *detstore)
Definition: IVP13DSystemSimple.cxx:23
Trk::ParametersBase
Definition: ParametersBase.h:55
IVP13DSystemSimple::ensureBuildController
void ensureBuildController()
Definition: IVP13DSystemSimple.cxx:90
IVP1System::Imp::allowupdategui
bool allowupdategui
Definition: IVP1System.cxx:41
VP1BPhysSystem::drawVertex
void drawVertex(SoSeparator *root, double x, double y, double z, double radius, double xx, double xy, double xz, double yy, double yz, double zz, unsigned long color, std::vector< SoSwitch * > &vertexSwitches)
Definition: VP1BPhysSystem.cxx:679
python.Utils.unixtools.which
def which(filename, env=os.environ)
UNIX-style which ---------------------------------------------------------—.
Definition: unixtools.py:39
Br::init
bool init(TTree *tree)
Definition: VP1BPhysSystem.cxx:58
selection
std::string selection
Definition: fbtTestBasics.cxx:75
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
VP1BPhysSystem::displayRefTracksChanged
void displayRefTracksChanged(int state)
Definition: VP1BPhysSystem.cxx:926
IVP1System::UNCREATED
@ UNCREATED
Definition: IVP1System.h:143
IVP1System::eventStore
StoreGateSvc * eventStore() const
Definition: IVP1System.cxx:312
VP1BPhysSystem::m_neutralSwitches
std::vector< SoSwitch * > m_neutralSwitches
Definition: VP1BPhysSystem.h:164
make_coralServer_rep.proj
proj
Definition: make_coralServer_rep.py:48
Br::neutral_refitted_px
std::vector< double > * neutral_refitted_px
Definition: VP1BPhysConvertor.h:48
IVP1System::sysmessage
void sysmessage(QString) const
VP1BPhysSystem::m_vertexStyle
int m_vertexStyle
Definition: VP1BPhysSystem.h:152
VP1AthenaPtrs::serviceLocator
static ISvcLocator * serviceLocator()
Definition: VP1AthenaPtrs.h:29
IVP1System::ON
@ ON
Definition: IVP1System.h:144
IVP13DSystemSimple::Imp::first
bool first
Definition: IVP13DSystemSimple.cxx:43
VP1AthenaPtrs::eventStore
static StoreGateSvc * eventStore()
Definition: VP1AthenaPtrs.h:27
VP1QtInventorUtils::sbcol2qcol
static QColor sbcol2qcol(const SbColor &)
Definition: VP1QtInventorUtils.cxx:1142
grepfile.sep
sep
Definition: grepfile.py:38
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Muon::nsw::unknown
@ unknown
Definition: NSWTriggerElink.h:36
IVP13DSystem::Imp::staticcameras
std::set< SoCamera * > staticcameras
Definition: IVP13DSystem.cxx:36
Amg::py
@ py
Definition: GeoPrimitives.h:39
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
IVP1System::messageDebug
void messageDebug(const QString &) const
Definition: IVP1System.cxx:347
python.selection.number
number
Definition: selection.py:20
IVP1System::detectorStore
StoreGateSvc * detectorStore() const
Definition: IVP1System.cxx:318
IVP13DSystemSimple::Imp::controllerBuilt
bool controllerBuilt
Definition: IVP13DSystemSimple.cxx:42
VP1AthenaPtrs::toolSvc
static IToolSvc * toolSvc()
Definition: VP1AthenaPtrs.h:30
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
Br::track_phi
std::vector< double > * track_phi
Definition: VP1BPhysConvertor.h:37
Br::track_eta
std::vector< double > * track_eta
Definition: VP1BPhysConvertor.h:36
Trk::TrackParticleBase::trackParameters
const std::vector< const TrackParameters * > & trackParameters() const
Returns the track parameters.
Definition: TrackParticleBase.h:243
IVP13DSystemSimple::Imp::getNodesWithDisabledNotifications
void getNodesWithDisabledNotifications(SoGroup *, QList< SoNode * > &) const
Definition: IVP13DSystemSimple.cxx:240
charge
double charge(const T &p)
Definition: AtlasPID.h:538
VP1BPhysSystem::m_signalSwitches
std::vector< SoSwitch * > m_signalSwitches
Definition: VP1BPhysSystem.h:163
Rec::TrackParticleContainer
Definition: Reconstruction/Particle/Particle/TrackParticleContainer.h:33
IVP1System::Imp::controller
QWidget * controller
Definition: IVP1System.cxx:44
VP1Msg::prefix_debug
static const char * prefix_debug()
Definition: VP1Msg.h:57
VP1BPhysSystem::m_br
Br * m_br
Definition: VP1BPhysSystem.h:167
Br::vtx_yy
double vtx_yy
Definition: VP1BPhysConvertor.h:26
green
@ green
Definition: BinsDiffFromStripMedian.h:18
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
VP1BPhysSystem::m_showRefitted
bool m_showRefitted
Definition: VP1BPhysSystem.h:159
Trk::IExtrapolator
Definition: IExtrapolator.h:62
Br::neutral_color
std::vector< unsigned long > * neutral_color
Definition: VP1BPhysConvertor.h:53
IVP1System::registerController
void registerController(QWidget *)
Definition: IVP1System.cxx:224
VP1BPhysSystem::ellipsoidToggled
void ellipsoidToggled(bool checked)
Definition: VP1BPhysSystem.cxx:872
Br::GetEntry
int GetEntry(int i)
Definition: VP1BPhysSystem.cxx:105
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
python.PyAthena.v
v
Definition: PyAthena.py:154
Br::track_d0
std::vector< double > * track_d0
Definition: VP1BPhysConvertor.h:38
Br::runNum
int runNum
Definition: VP1BPhysSystem.h:54
VP1Msg::prefix_verbose
static const char * prefix_verbose()
Definition: VP1Msg.h:59
IVP13DSystemSimple::updateGUI
void updateGUI()
Definition: IVP13DSystemSimple.h:89
a
TList * a
Definition: liststreamerinfos.cxx:10
VP1BPhysSystem::m_root
SoSeparator * m_root
Definition: VP1BPhysSystem.h:150
y
#define y
IVP13DSystem::Imp::made_deselection
static void made_deselection(void *userdata, SoPath *path)
Definition: IVP13DSystem.cxx:227
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
TrackPropagationHelper::makePointsCharged
bool makePointsCharged(std::vector< Amg::Vector3D > &points, const Trk::Track *, Trk::IExtrapolator *extrapolator, Trk::ParticleHypothesis hypo=Trk::nonInteracting, bool useMEOT=false, const Trk::Volume *volume=0)
Definition: TrackPropagationHelper.cxx:239
IVP1System::updateGUI
void updateGUI()
Definition: IVP1System.cxx:262
IVP1System::Imp::channel
IVP1ChannelWidget * channel
Definition: IVP1System.cxx:40
IVP13DSystemSimple::warnOnDisabledNotifications
void warnOnDisabledNotifications() const
Definition: IVP13DSystemSimple.cxx:221
VP1BPhysSystem::Clockwork::ui
Ui::BPhysControllerForm ui
Definition: VP1BPhysSystem.cxx:111
IVP13DSystem::Imp::selectionsWithDisabledNotifications
QSet< SoCooperativeSelection * > selectionsWithDisabledNotifications
Definition: IVP13DSystem.cxx:50
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:67
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
IVP13DSystemSimple::m_d
Imp * m_d
Definition: IVP13DSystemSimple.h:79
VP1ToolAccessHelper
Definition: VP1ToolAccessHelper.h:29
Br::vtx_xx
double vtx_xx
Definition: VP1BPhysConvertor.h:25
IVP13DSystem::Imp::finished_changeselection
static void finished_changeselection(void *userdata, SoSelection *sel)
Definition: IVP13DSystem.cxx:121
VP1BPhysSystem::displayVerticesChanged
void displayVerticesChanged(int state)
Definition: VP1BPhysSystem.cxx:819
VP1BPhysSystem::drawNeutralTrack
void drawNeutralTrack(SoSeparator *root, double x, double y, double z, double px, double py, double pz, double length, unsigned long color)
Definition: VP1BPhysSystem.cxx:460
str
Definition: BTagTrackIpAccessor.cxx:11
IVP13DSystem::userClickedOnBgd
virtual void userClickedOnBgd()
Definition: IVP13DSystem.cxx:62
VP1Msg::verbose
static bool verbose()
Definition: VP1Msg.h:31
VP1BPhysSystem::filterTrack
void filterTrack(SoSeparator *root, const Rec::TrackParticleContainer *partCont, double pt, double eta, double phi, double d0, double z0, double x, double y, double z, unsigned long color, std::vector< const Rec::TrackParticle * > *selectedParticles)
drawing methods *******************************************************************
Definition: VP1BPhysSystem.cxx:349
merge.status
status
Definition: merge.py:17
rr
const boost::regex rr(r_r)
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
darkGray
const unsigned long darkGray
Definition: VP1BPhysSystem.cxx:56
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
PowhegControl_ttFCNC_NLO.params
params
Definition: PowhegControl_ttFCNC_NLO.py:226
IVP13DSystem::Imp::clickedoutsideScheduled
bool clickedoutsideScheduled
Definition: IVP13DSystem.cxx:53
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
IVP1System::Imp::canregistercontroller
bool canregistercontroller
Definition: IVP1System.cxx:46
Trk::TrackParticleBase::perigee
const Perigee * perigee() const
Attempts to cast the definingParameters() to Perigee.
Definition: TrackParticleBase.h:263
VP1AthenaPtrs::detectorStore
static StoreGateSvc * detectorStore()
Definition: VP1AthenaPtrs.h:28
IVP13DSystemSimple::Imp::wascreated
bool wascreated
Definition: IVP13DSystemSimple.cxx:41
VP1BPhysSystem::getPoints
std::vector< Amg::Vector3D > * getPoints(const Trk::Track *track)
Definition: VP1BPhysSystem.cxx:565
IVP13DSystem::m_d
Imp * m_d
Definition: IVP13DSystem.h:116
python.compressB64.c
def c
Definition: compressB64.py:93
updateCoolNtuple.limit
int limit
Definition: updateCoolNtuple.py:45
red
@ red
Definition: BinsDiffFromStripMedian.h:18
length
double length(const pvec &v)
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
VP1BPhysSystem::m_tree
TTree * m_tree
Definition: VP1BPhysSystem.h:146
IVP1System::message
void message(const QString &) const
Definition: IVP1System.cxx:336
jobOptions.points
points
Definition: jobOptions.GenevaPy8_Zmumu.py:97
TrackingGeometryValidation.blue
blue
Definition: TrackingGeometryValidation.py:33
IVP1System::OFF
@ OFF
Definition: IVP1System.h:144
IVP1System::Imp::state
State state
Definition: IVP1System.cxx:42
IVP1System::messageVerbose
void messageVerbose(const QString &) const
Definition: IVP1System.cxx:354
node
Definition: memory_hooks-stdcmalloc.h:74
Br::neutral_length
std::vector< double > * neutral_length
Definition: VP1BPhysConvertor.h:51
IVP1System::ERASED
@ ERASED
Definition: IVP1System.h:143
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
IVP1System::Imp::name
const QString name
Definition: IVP1System.cxx:37
IVP13DSystemSimple::Imp::wasrefreshed
bool wasrefreshed
Definition: IVP13DSystemSimple.cxx:40
VP1BPhysSystem::getTrack
const Trk::Track * getTrack(const Rec::TrackParticle *trackparticle)
utils *****************************************************************************
Definition: VP1BPhysSystem.cxx:960
Trk::TrackInfo::Unknown
@ Unknown
Track fitter not defined.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:41