ATLAS Offline Software
Loading...
Searching...
No Matches
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 }
#define x
static bool verbose()
Definition VP1Msg.h:31

◆ 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>
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: