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

CellGeo.h

Go to the documentation of this file.
00001 #ifndef GEO_CELLGEO_H
00002 #define GEO_CELLGEO_H
00003 #ifndef GEO_CELLUNIQUEID_H
00004 #include "Geometry/CellUniqueId.h"
00005 #endif
00006 #include <vector>
00007 class TGeoNode;
00008 class TGeoHMatrix;
00009 class TGeoMatrix;
00010 
00011 namespace geo {
00013   //
00022   //
00023   class CellGeo {
00024   public:
00025     CellGeo(std::vector<const TGeoNode*>& n, int depth);
00026     
00027     void   GetCenter(double* xyz, double localz=0.0) const;
00028     double DistToReadOut(double localz) const;
00029     double HalfW() const;
00030     double HalfL() const;
00031     double HalfD() const;
00032 
00033     void LocalToWorld(const double* local, double* world)     const;
00034     void LocalToWorldVect(const double* local, double* world) const;
00035     void WorldToLocal(const double* local, double* world)     const;
00036     void WorldToLocalVect(const double* local, double* world) const;
00037 
00038     const TGeoNode*     Node() const { return fCellNode; }
00039     const CellUniqueId& Id()   const { return fId; }
00040 
00041   private:
00042     CellUniqueId    fId;        
00043     const TGeoNode* fCellNode;  
00044     TGeoHMatrix*    fGeoMatrix; 
00045   };
00046 }
00047 
00048 
00049 #endif

Generated on Mon Dec 1 02:35:17 2008 for NOvA Offline by  doxygen 1.3.9.1