GeoPlnNode Class Reference

#include <GeoPlnNode.h>

Inheritance diagram for GeoPlnNode:
GeoNode GeoRefCnt GeoScintPlnNode GeoSteelPlnNode

List of all members.

Public Member Functions

 GeoPlnNode ()
virtual ~GeoPlnNode ()
virtual PlexPlaneId GetPlexPlaneId () const
virtual Float_t GetHalfThickness () const
virtual TVector3 GetCenter () const
virtual Float_t GetX0 () const
virtual Float_t GetY0 () const
virtual Float_t GetZ0 () const

Protected Member Functions

 GeoPlnNode (GeoGeometry *geoGeometry, TGeoVolume *plnvol, TGeoMatrix *plnmatrix, TGeoVolume *parVol, std::string globalpath, std::string nodename, const PlexPlaneId &planeid)

Private Member Functions

 GeoPlnNode (const GeoPlnNode &that)
GeoPlnNodeoperator= (const GeoPlnNode &that)

Private Attributes

PlexPlaneId fPlaneId

Friends

class UgliPlnHandle

Detailed Description

Definition at line 19 of file GeoPlnNode.h.


Constructor & Destructor Documentation

GeoPlnNode::GeoPlnNode (  )  [inline]

Definition at line 25 of file GeoPlnNode.h.

00025 : fPlaneId() {} // default constructor for i/o

GeoPlnNode::~GeoPlnNode (  )  [virtual]

Definition at line 34 of file GeoPlnNode.cxx.

References GeoRefCnt::CountRef(), GetPlexPlaneId(), Msg::kWarning, MSG, and GeoNode::UpdateGlobalManager().

00034                         {
00035   // Destructor, should delete any owned objects
00036 
00037   UpdateGlobalManager();
00038   
00039   if ( CountRef() ) {
00040     MSG("Geo",Msg::kWarning)
00041       << "GeoPlnNode destructor " << GetPlexPlaneId()
00042       << " still had " << CountRef()
00043       << " outstanding references " << endl;
00044   }
00045 
00046 }

GeoPlnNode::GeoPlnNode ( GeoGeometry geoGeometry,
TGeoVolume *  plnvol,
TGeoMatrix *  plnmatrix,
TGeoVolume *  parVol,
std::string  globalpath,
std::string  nodename,
const PlexPlaneId planeid 
) [protected]

Definition at line 21 of file GeoPlnNode.cxx.

References GeoGeometry::UpdateGlobalManager().

00025   : GeoNode(geo,plnvol,plnmatrix,parVol,globalpath,nodename), 
00026     fPlaneId(planeid) {
00027   // Normal constructor
00028 
00029   UpdateGlobalManager();
00030 
00031 }

GeoPlnNode::GeoPlnNode ( const GeoPlnNode that  )  [private]

Member Function Documentation

TVector3 GeoPlnNode::GetCenter (  )  const [virtual]

Definition at line 61 of file GeoPlnNode.cxx.

References GeoNode::LocalToGlobal(), and GeoNode::UpdateGlobalManager().

Referenced by UgliPlnHandle::GetCenter(), and UgliSteelPlnHandle::GetCenter().

00061                                      {
00062   // Public method.
00063 
00064   UpdateGlobalManager();
00065   
00066   Double_t lxyz[3] = {0., 0., 0.};
00067   Double_t gxyz[3];
00068 
00069   LocalToGlobal(lxyz,gxyz);
00070   return TVector3(gxyz[0],gxyz[1],gxyz[2]);
00071 }

Float_t GeoPlnNode::GetHalfThickness (  )  const [virtual]

Definition at line 49 of file GeoPlnNode.cxx.

References GeoNode::UpdateGlobalManager().

Referenced by UgliSteelPlnHandle::GetHalfThickness(), and UgliPlnHandle::GetHalfThickness().

00049                                            {
00050   // Public method.
00051  
00052   UpdateGlobalManager();
00053   
00054   Float_t halfdz = dynamic_cast<TGeoBBox*>(GetVolume()->GetShape())->GetDZ();
00055 
00056   return halfdz;
00057 }

virtual PlexPlaneId GeoPlnNode::GetPlexPlaneId (  )  const [inline, virtual]
Float_t GeoPlnNode::GetX0 (  )  const [virtual]

Definition at line 74 of file GeoPlnNode.cxx.

References GeoNode::LocalToGlobal(), and GeoNode::UpdateGlobalManager().

Referenced by UgliSteelPlnHandle::GetX0(), and UgliPlnHandle::GetX0().

00074                                 {
00075   // Public method.
00076 
00077    UpdateGlobalManager();
00078   
00079    Double_t lxyz[3] = {0., 0., 0.};
00080    Double_t gxyz[3];
00081 
00082    LocalToGlobal(lxyz,gxyz);
00083    return gxyz[0];
00084 }

Float_t GeoPlnNode::GetY0 (  )  const [virtual]

Definition at line 87 of file GeoPlnNode.cxx.

References GeoNode::LocalToGlobal(), and GeoNode::UpdateGlobalManager().

Referenced by UgliSteelPlnHandle::GetY0(), and UgliPlnHandle::GetY0().

00087                                 {
00088   // Public method.
00089 
00090    UpdateGlobalManager();
00091   
00092    Double_t lxyz[3] = {0., 0., 0.};
00093    Double_t gxyz[3];
00094 
00095    LocalToGlobal(lxyz,gxyz);
00096    return gxyz[1];
00097 }

Float_t GeoPlnNode::GetZ0 (  )  const [virtual]

Definition at line 100 of file GeoPlnNode.cxx.

References GeoNode::LocalToGlobal(), and GeoNode::UpdateGlobalManager().

Referenced by UgliSteelPlnHandle::GetZ0(), and UgliPlnHandle::GetZ0().

00100                                 {
00101   // Public method.
00102 
00103    UpdateGlobalManager();
00104   
00105    Double_t lxyz[3] = {0., 0., 0.};
00106    Double_t gxyz[3];
00107 
00108    LocalToGlobal(lxyz,gxyz);
00109    return gxyz[2];
00110 }

GeoPlnNode& GeoPlnNode::operator= ( const GeoPlnNode that  )  [private]

Reimplemented from GeoNode.

Reimplemented in GeoScintPlnNode, and GeoSteelPlnNode.


Friends And Related Function Documentation

friend class UgliPlnHandle [friend]

Definition at line 21 of file GeoPlnNode.h.


Member Data Documentation

Definition at line 50 of file GeoPlnNode.h.

Referenced by GetPlexPlaneId().


The documentation for this class was generated from the following files:

Generated on 22 Nov 2017 for loon by  doxygen 1.6.1