CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/Geometry/ForwardGeometry/interface/IdealZDCTrapezoid.h

Go to the documentation of this file.
00001 #ifndef Geometry_ForwardGeometry_IdealZDCTrapezoid_H
00002 #define Geometry_ForwardGeometry_IdealZDCTrapezoid_H 1
00003 
00004 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
00005 
00023 class IdealZDCTrapezoid: public CaloCellGeometry 
00024 {
00025    public:
00026 
00027       typedef CaloCellGeometry::CCGFloat CCGFloat ;
00028       typedef CaloCellGeometry::Pt3D     Pt3D     ;
00029       typedef CaloCellGeometry::Pt3DVec  Pt3DVec  ;
00030       typedef CaloCellGeometry::Tr3D     Tr3D     ;
00031 
00032       IdealZDCTrapezoid() ;
00033 
00034       IdealZDCTrapezoid( const IdealZDCTrapezoid& idzt ) ;
00035       
00036       IdealZDCTrapezoid& operator=( const IdealZDCTrapezoid& idzt ) ;
00037 
00038       IdealZDCTrapezoid( const GlobalPoint& faceCenter,
00039                          const CornersMgr*  mgr       ,
00040                          const CCGFloat*    parm        ) ;
00041          
00042       virtual ~IdealZDCTrapezoid() ;
00043 
00044       virtual const CornersVec& getCorners() const ;
00045 
00046       CCGFloat an() const ;
00047       CCGFloat dx() const ;
00048       CCGFloat dy() const ;
00049       CCGFloat dz() const ;
00050       CCGFloat ta() const ;
00051       CCGFloat dt() const ;
00052 
00053       virtual void vocalCorners( Pt3DVec&        vec ,
00054                                  const CCGFloat* pv  ,
00055                                  Pt3D&           ref  ) const ;
00056 
00057       static void localCorners( Pt3DVec&        vec ,
00058                                 const CCGFloat* pv  , 
00059                                 Pt3D&           ref  ) ;
00060     
00061    private:
00062 };
00063 
00064 std::ostream& operator<<( std::ostream& s , const IdealZDCTrapezoid& cell ) ;
00065 
00066 #endif