CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/FastSimulation/CaloGeometryTools/interface/CaloDirectionOperations.h

Go to the documentation of this file.
00001 #ifndef FastSimulation_CaloGeometryTools_CaloDirectionOperations_h
00002 #define FastSimulation_CaloGeometryTools_CaloDirectionOperations_h
00003 
00004 
00005 #include "Geometry/CaloTopology/interface/CaloDirection.h"
00006 
00007 // A set of "non standard" operations on CaloDirections
00008 // This is FastSimulation specific !
00009 // F. Beaudette 23/10/06
00010 
00011 class CaloDirectionOperations
00012 {
00013  public:
00014   CaloDirectionOperations(){;}
00015   ~CaloDirectionOperations(){;}
00016 
00017   // add directions in 2D 
00018   static CaloDirection add2d(const CaloDirection& dir1, const CaloDirection & dir2);
00019 
00021   static CaloDirection Side(unsigned i) ;
00023   static unsigned Side(const CaloDirection& side);
00024 
00026   static unsigned neighbourDirection(const CaloDirection& side);
00028   static CaloDirection neighbourDirection(unsigned i);
00029 
00030   // returns the opposite side
00031   static CaloDirection oppositeSide(const CaloDirection& side) ;
00032   static unsigned oppositeDirection(unsigned iside);
00033 };
00034 
00035 
00036 #endif