Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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

Constructor & Destructor Documentation

GeoPlnNode::GeoPlnNode  )  [inline]
 

Definition at line 25 of file GeoPlnNode.h.

References fPlaneId.

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

GeoPlnNode::~GeoPlnNode  )  [virtual]
 

Definition at line 34 of file GeoPlnNode.cxx.

References GeoRefCnt::CountRef(), GetPlexPlaneId(), 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 UgliSteelPlnHandle::GetCenter(), and UgliPlnHandle::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]
 

Definition at line 28 of file GeoPlnNode.h.

Referenced by UgliPlnHandle::GetPlaneCoverage(), UgliPlnHandle::GetPlaneNumber(), UgliPlnHandle::GetPlaneView(), UgliPlnHandle::GetPlexPlaneId(), GeoScintPlnNode::GetStripNode(), ~GeoPlnNode(), GeoScintPlnNode::~GeoScintPlnNode(), and GeoSteelPlnNode::~GeoSteelPlnNode().

00028 { return fPlaneId; }

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]
 


Friends And Related Function Documentation

friend class UgliPlnHandle [friend]
 

Definition at line 21 of file GeoPlnNode.h.


Member Data Documentation

PlexPlaneId GeoPlnNode::fPlaneId [private]
 

Definition at line 50 of file GeoPlnNode.h.

Referenced by GeoPlnNode().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:09:14 2010 for loon by  doxygen 1.3.9.1