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

Public Member Functions

 Imp (VP1TrackingVolumes *tc, SoMaterial *materialID, SoMaterial *materialCalo, SoMaterial *materialMS, SoSeparator *attachsep, bool showID, bool showCalo, bool showMS)
 
void updateFields ()
 
void ensureInit3DObjects ()
 

Public Attributes

VP1TrackingVolumestheclass
 
SoSeparator * attachSep
 
SoMaterial * materialID
 
SoMaterial * materialCalo
 
SoMaterial * materialMS
 
bool shown
 
bool shownID
 
bool shownCalo
 
bool shownMS
 
SoSeparator * sep
 
SoSeparator * sepID
 
SoSeparator * sepCalo
 
SoSeparator * sepMS
 
SoCylinder * innerDetector
 
SoCylinder * calos
 
SoCylinder * muonSpectrometer
 

Detailed Description

Definition at line 25 of file VP1TrackingVolumes.cxx.

Constructor & Destructor Documentation

◆ Imp()

VP1TrackingVolumes::Imp::Imp ( VP1TrackingVolumes tc,
SoMaterial *  materialID,
SoMaterial *  materialCalo,
SoMaterial *  materialMS,
SoSeparator *  attachsep,
bool  showID,
bool  showCalo,
bool  showMS 
)

Definition at line 86 of file VP1TrackingVolumes.cxx.

87  : theclass(tc), attachSep(as),
89  shown(false), shownID(showID), shownCalo(showCalo), shownMS(showMS),
91 {
92  attachSep->ref();
93 }

Member Function Documentation

◆ ensureInit3DObjects()

void VP1TrackingVolumes::Imp::ensureInit3DObjects ( )

Definition at line 96 of file VP1TrackingVolumes.cxx.

97 {
98  if (sep && sepID && sepCalo && sepMS)
99  return;
100  theclass->messageVerbose("Building 3D objects");
101 
102  sep = new SoSeparator;
103  sep->ref();
104  SoRotationXYZ * rotz = new SoRotationXYZ;
105  rotz->axis.setValue(SoRotationXYZ::X);
106  rotz->angle.setValue(0.5*M_PI);
107  sep->addChild(rotz);
108 
109  sepID = new SoSeparator;
110  sepID->ref();
111  sepID->addChild(materialID);
112  innerDetector = new SoCylinder;
113  innerDetector->radius.setValue(1100.0);
114  innerDetector->height.setValue( 6400.0 );
115  sepID->addChild(innerDetector);
116 
117  sepCalo = new SoSeparator;
118  sepCalo->ref();
119  sepCalo->addChild(materialCalo);
120  calos = new SoCylinder;
121  calos->radius.setValue(4250.0);
122  calos->height.setValue( 6779.0*2.0 );
123  sepCalo->addChild(calos);
124 
125  sepMS = new SoSeparator;
126  sepMS->ref();
127  sepMS->addChild(materialMS);
128  muonSpectrometer = new SoCylinder;
129  muonSpectrometer->radius.setValue(15000.0);
130  muonSpectrometer->height.setValue( 21000.0*2.0 );
131  sepMS->addChild(muonSpectrometer);
132 
133 
134 // innerDetector->parts.setValue(SoCylinder::SIDES|SoCylinder::BOTTOM);
135 }

◆ updateFields()

void VP1TrackingVolumes::Imp::updateFields ( )

Definition at line 138 of file VP1TrackingVolumes.cxx.

139 {
141  theclass->messageVerbose("Updating fields");
142 
143  const bool save = sep->enableNotify(false);
144 
145  if (shownID ){
146  if (sep->findChild(sepID)<0)
147  sep->addChild(sepID);
148  } else {
149  sep->removeChild(sepID);
150  }
151 
152  if (shownCalo ){
153  if (sep->findChild(sepCalo)<0)
154  sep->addChild(sepCalo);
155  } else {
156  sep->removeChild(sepCalo);
157  }
158 
159  if (shownMS ){
160  if (sep->findChild(sepMS)<0)
161  sep->addChild(sepMS);
162  } else {
163  sep->removeChild(sepMS);
164  }
165 
166  if (save) {
167  sep->enableNotify(true);
168  sep->touch();
169  }
170 }

Member Data Documentation

◆ attachSep

SoSeparator* VP1TrackingVolumes::Imp::attachSep

Definition at line 34 of file VP1TrackingVolumes.cxx.

◆ calos

SoCylinder* VP1TrackingVolumes::Imp::calos

Definition at line 49 of file VP1TrackingVolumes.cxx.

◆ innerDetector

SoCylinder* VP1TrackingVolumes::Imp::innerDetector

Definition at line 48 of file VP1TrackingVolumes.cxx.

◆ materialCalo

SoMaterial* VP1TrackingVolumes::Imp::materialCalo

Definition at line 36 of file VP1TrackingVolumes.cxx.

◆ materialID

SoMaterial* VP1TrackingVolumes::Imp::materialID

Definition at line 35 of file VP1TrackingVolumes.cxx.

◆ materialMS

SoMaterial* VP1TrackingVolumes::Imp::materialMS

Definition at line 37 of file VP1TrackingVolumes.cxx.

◆ muonSpectrometer

SoCylinder* VP1TrackingVolumes::Imp::muonSpectrometer

Definition at line 50 of file VP1TrackingVolumes.cxx.

◆ sep

SoSeparator* VP1TrackingVolumes::Imp::sep

Definition at line 44 of file VP1TrackingVolumes.cxx.

◆ sepCalo

SoSeparator* VP1TrackingVolumes::Imp::sepCalo

Definition at line 46 of file VP1TrackingVolumes.cxx.

◆ sepID

SoSeparator* VP1TrackingVolumes::Imp::sepID

Definition at line 45 of file VP1TrackingVolumes.cxx.

◆ sepMS

SoSeparator* VP1TrackingVolumes::Imp::sepMS

Definition at line 47 of file VP1TrackingVolumes.cxx.

◆ shown

bool VP1TrackingVolumes::Imp::shown

Definition at line 39 of file VP1TrackingVolumes.cxx.

◆ shownCalo

bool VP1TrackingVolumes::Imp::shownCalo

Definition at line 41 of file VP1TrackingVolumes.cxx.

◆ shownID

bool VP1TrackingVolumes::Imp::shownID

Definition at line 40 of file VP1TrackingVolumes.cxx.

◆ shownMS

bool VP1TrackingVolumes::Imp::shownMS

Definition at line 42 of file VP1TrackingVolumes.cxx.

◆ theclass

VP1TrackingVolumes* VP1TrackingVolumes::Imp::theclass

Definition at line 33 of file VP1TrackingVolumes.cxx.


The documentation for this class was generated from the following file:
VP1TrackingVolumes::Imp::theclass
VP1TrackingVolumes * theclass
Definition: VP1TrackingVolumes.cxx:33
VP1TrackingVolumes::Imp::sepID
SoSeparator * sepID
Definition: VP1TrackingVolumes.cxx:45
VP1TrackingVolumes::Imp::sep
SoSeparator * sep
Definition: VP1TrackingVolumes.cxx:44
VP1TrackingVolumes::Imp::muonSpectrometer
SoCylinder * muonSpectrometer
Definition: VP1TrackingVolumes.cxx:50
VP1TrackingVolumes::Imp::materialID
SoMaterial * materialID
Definition: VP1TrackingVolumes.cxx:35
VP1TrackingVolumes::Imp::shown
bool shown
Definition: VP1TrackingVolumes.cxx:39
VP1HelperClassBase::messageVerbose
void messageVerbose(const QString &) const
Definition: VP1HelperClassBase.cxx:78
M_PI
#define M_PI
Definition: ActiveFraction.h:11
VP1TrackingVolumes::Imp::ensureInit3DObjects
void ensureInit3DObjects()
Definition: VP1TrackingVolumes.cxx:96
VP1TrackingVolumes::Imp::materialCalo
SoMaterial * materialCalo
Definition: VP1TrackingVolumes.cxx:36
Monitored::X
@ X
Definition: HistogramFillerUtils.h:24
VP1TrackingVolumes::Imp::sepCalo
SoSeparator * sepCalo
Definition: VP1TrackingVolumes.cxx:46
checkTP.save
def save(self, fileName="./columbo.out")
Definition: checkTP.py:178
VP1TrackingVolumes::Imp::materialMS
SoMaterial * materialMS
Definition: VP1TrackingVolumes.cxx:37
VP1TrackingVolumes::Imp::calos
SoCylinder * calos
Definition: VP1TrackingVolumes.cxx:49
VP1TrackingVolumes::Imp::shownCalo
bool shownCalo
Definition: VP1TrackingVolumes.cxx:41
VP1TrackingVolumes::Imp::shownID
bool shownID
Definition: VP1TrackingVolumes.cxx:40
VP1TrackingVolumes::Imp::innerDetector
SoCylinder * innerDetector
Definition: VP1TrackingVolumes.cxx:48
VP1TrackingVolumes::Imp::attachSep
SoSeparator * attachSep
Definition: VP1TrackingVolumes.cxx:34
VP1TrackingVolumes::Imp::shownMS
bool shownMS
Definition: VP1TrackingVolumes.cxx:42
VP1TrackingVolumes::Imp::sepMS
SoSeparator * sepMS
Definition: VP1TrackingVolumes.cxx:47