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

GeoScintPlnNode.h

Go to the documentation of this file.
00001 
00002 //
00003 // GeoScintPlnNode
00004 //
00005 // GeoScintPlnNode is a specialized GeoPlnNode to provide methods
00006 // specialized to a scint pln.
00007 //
00008 // Modeled after R. Hatcher's UgliScintPlnNode class
00009 //
00010 // Author:  S. Kasahara  07/04
00012 
00013 #ifndef GEOSCINTPLNNODE_H
00014 #define GEOSCINTPLNNODE_H
00015 
00016 #include "GeoGeometry/GeoPlnNode.h"  // base class
00017 #include "GeoGeometry/GeoScintPlnVolume.h"
00018 
00019 class PlexStripEndId;
00020 class GeoScintPlnNode;
00021 class GeoStripNode;
00022 
00023 class GeoScintPlnNode : public GeoPlnNode {
00024 
00025   friend class GeoGeometry;  // every node belongs to its geometry creator
00026 
00027  public:
00028   // Constructors & destructors
00029   GeoScintPlnNode() {} // default constructor for i/o
00030   virtual ~GeoScintPlnNode();
00031 
00032   // State testing methods
00033   GeoStripNode* GetClosestStrip(Float_t tpos, Float_t orthCoord=999999.) const;
00034   virtual GeoStripNode* GetStripNode(const PlexStripEndId& seid) const;
00035   virtual Int_t NumberOfStrips() const;
00036   virtual Int_t NumberOfModules() const;
00037   virtual std::vector<GeoStripNode*> GetStripNodePtrVector() const;
00038   virtual std::vector<GeoScintMdlNode*> GetScintMdlNodePtrVector() const;
00039       
00040   Float_t GetZRotRelSteelRad() const;
00041   Float_t GetX0RelSteel() const;
00042   Float_t GetY0RelSteel() const;
00043 
00044   // Dummy
00045   void  SetZRotRelSteelRad(Float_t radians);
00046   void  SetXY0RelSteel(Float_t x0, Float_t y0);
00047    
00048  protected:
00049  
00050   GeoScintPlnNode(GeoGeometry* geoGeometry, TGeoVolume* plnvol,
00051                   TGeoMatrix* plnmatrix, TGeoVolume* parVolume, 
00052                   std::string globalpath, std::string nodename, 
00053                   const PlexPlaneId& planeid);
00054 
00055   virtual GeoScintPlnVolume* GetScintPlnVolume() const 
00056     { return dynamic_cast<GeoScintPlnVolume*>(this->GetVolume()); }
00057 
00058  private:
00059 
00060   // Avoid copy and assignment ctor by making them private and w/no imp
00061   GeoScintPlnNode(const GeoScintPlnNode& that);
00062   GeoScintPlnNode& operator=(const GeoScintPlnNode& that);
00063 
00064 
00065 ClassDef(GeoScintPlnNode,1)
00066 };
00067 #endif // GEOSCINTPLNNODE_H

Generated on Mon Feb 15 11:06:45 2010 for loon by  doxygen 1.3.9.1