ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
HitsSoNodeManager::Imp Class Reference
Collaboration diagram for HitsSoNodeManager::Imp:

Public Member Functions

 Imp ()
 
void sanitiseParameterValue (double &x)
 
void sanitiseParameterValueAllowZero (double &x)
 
void summarise (unsigned n, const QString &shapename) const
 

Static Public Member Functions

template<class T >
static void unrefValues (T &t)
 

Public Attributes

HitsSoNodeManagertheclass
 
const double driftdischeight
 
std::map< double, SoNode *, CxxUtils::fpcompare_fn::lesscachedshapes_drifttubes
 
std::map< double, SoNode *, CxxUtils::fpcompare_fn::lesscachedshapes_driftdiscs
 
std::map< double, SoNode *, CxxUtils::fpcompare_fn::lesscachedshapes_projdrifttubes
 
std::map< double, SoNode *, CxxUtils::fpcompare_fn::lesscachedshapes_strips
 
SoNode * cachedshape_point
 
std::map< double, SoNode *, CxxUtils::fpcompare_fn::lesscachedshapes_cross
 
SoTransform * cached_unittransform
 

Detailed Description

Definition at line 27 of file HitsSoNodeManager.cxx.

Constructor & Destructor Documentation

◆ Imp()

HitsSoNodeManager::Imp::Imp ( )
inline

Definition at line 29 of file HitsSoNodeManager.cxx.

Member Function Documentation

◆ sanitiseParameterValue()

void HitsSoNodeManager::Imp::sanitiseParameterValue ( double &  x)
inline

Definition at line 48 of file HitsSoNodeManager.cxx.

48  {
49  //Flips sign of parameter if negative, and makes sure it is not of
50  //negligible size.
51  if ( x != x ) {
52  theclass->message("sanitiseParameterValue WARNING - received nan paramter. Putting to 1.0e-5.");
53  x = 1.0e-5;
54  return;
55  }
56  if ( x <= 1.0e-5 ) {
57  if ( x < 0.0 ) {
58  if (VP1Msg::verbose())
59  theclass->messageVerbose("sanitiseParameterValue WARNING - received negative parameter. Flipping sign.");
60  x = - x;
61  }
62  if ( x < 1.0e-5 )
63  x = 1.0e-5;
64  }
65  }

◆ sanitiseParameterValueAllowZero()

void HitsSoNodeManager::Imp::sanitiseParameterValueAllowZero ( double &  x)
inline

Definition at line 66 of file HitsSoNodeManager.cxx.

66  {
67  //Flips sign of parameter if negative, and makes sure it, if
68  //non-zero, that it is not of negligible size.
69  if ( x != x ) {
70  theclass->message("sanitiseParameterValue WARNING - received nan paramter. Putting to 1.0e-5.");
71  x = 1.0e-5;
72  return;
73  }
74  if ( x <= 1.0e-5 ) {
75  if ( x < 0.0 ) {
76  if (VP1Msg::verbose())
77  theclass->messageVerbose("sanitiseParameterValue WARNING - received negative parameter. Flipping sign.");
78  x = - x;
79  }
80  if ( x < 1.0e-5 && x != 0.0 )
81  x = 1.0e-5;
82  }
83  }

◆ summarise()

void HitsSoNodeManager::Imp::summarise ( unsigned  n,
const QString &  shapename 
) const

Definition at line 101 of file HitsSoNodeManager.cxx.

102 {
103  if (n>100)
104  theclass->messageDebug(" WARNING: Created more than 100 ("+QString::number(n)+") different "+shapename+" shapes.");
105  else if (VP1Msg::verbose())
106  theclass->messageVerbose("Created "+QString::number(n)+" different "+shapename+" shapes.");
107 }

◆ unrefValues()

template<class T >
static void HitsSoNodeManager::Imp::unrefValues ( T &  t)
inlinestatic

Definition at line 42 of file HitsSoNodeManager.cxx.

42  {
43  typename T::iterator it(t.begin()), itE(t.end());
44  for (;it!=itE;++it)
45  it->second->unref();
46  }

Member Data Documentation

◆ cached_unittransform

SoTransform* HitsSoNodeManager::Imp::cached_unittransform

Definition at line 38 of file HitsSoNodeManager.cxx.

◆ cachedshape_point

SoNode* HitsSoNodeManager::Imp::cachedshape_point

Definition at line 36 of file HitsSoNodeManager.cxx.

◆ cachedshapes_cross

std::map<double,SoNode*,CxxUtils::fpcompare_fn::less> HitsSoNodeManager::Imp::cachedshapes_cross

Definition at line 37 of file HitsSoNodeManager.cxx.

◆ cachedshapes_driftdiscs

std::map<double,SoNode*,CxxUtils::fpcompare_fn::less> HitsSoNodeManager::Imp::cachedshapes_driftdiscs

Definition at line 33 of file HitsSoNodeManager.cxx.

◆ cachedshapes_drifttubes

std::map<double,SoNode*,CxxUtils::fpcompare_fn::less> HitsSoNodeManager::Imp::cachedshapes_drifttubes

Definition at line 32 of file HitsSoNodeManager.cxx.

◆ cachedshapes_projdrifttubes

std::map<double,SoNode*,CxxUtils::fpcompare_fn::less> HitsSoNodeManager::Imp::cachedshapes_projdrifttubes

Definition at line 34 of file HitsSoNodeManager.cxx.

◆ cachedshapes_strips

std::map<double,SoNode*,CxxUtils::fpcompare_fn::less> HitsSoNodeManager::Imp::cachedshapes_strips

Definition at line 35 of file HitsSoNodeManager.cxx.

◆ driftdischeight

const double HitsSoNodeManager::Imp::driftdischeight

Definition at line 31 of file HitsSoNodeManager.cxx.

◆ theclass

HitsSoNodeManager* HitsSoNodeManager::Imp::theclass

Definition at line 30 of file HitsSoNodeManager.cxx.


The documentation for this class was generated from the following file:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
VP1HelperClassBase::messageVerbose
void messageVerbose(const QString &) const
Definition: VP1HelperClassBase.cxx:78
skel.it
it
Definition: skel.GENtoEVGEN.py:396
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
HitsSoNodeManager::Imp::cached_unittransform
SoTransform * cached_unittransform
Definition: HitsSoNodeManager.cxx:38
x
#define x
VP1HelperClassBase::messageDebug
void messageDebug(const QString &) const
Definition: VP1HelperClassBase.cxx:65
TruthTest.itE
itE
Definition: TruthTest.py:25
beamspotman.n
n
Definition: beamspotman.py:731
python.selection.number
number
Definition: selection.py:20
HitsSoNodeManager::Imp::cachedshape_point
SoNode * cachedshape_point
Definition: HitsSoNodeManager.cxx:36
HitsSoNodeManager::Imp::theclass
HitsSoNodeManager * theclass
Definition: HitsSoNodeManager.cxx:30
VP1HelperClassBase::message
void message(const QString &) const
Definition: VP1HelperClassBase.cxx:49
VP1Msg::verbose
static bool verbose()
Definition: VP1Msg.h:31
HitsSoNodeManager::Imp::driftdischeight
const double driftdischeight
Definition: HitsSoNodeManager.cxx:31