CMS 3D CMS Logo

CaloDirectionOperations Class Reference

#include <FastSimulation/CaloGeometryTools/interface/CaloDirectionOperations.h>

List of all members.

Public Member Functions

 CaloDirectionOperations ()
 ~CaloDirectionOperations ()

Static Public Member Functions

static CaloDirection add2d (const CaloDirection &dir1, const CaloDirection &dir2)
static CaloDirection neighbourDirection (unsigned i)
 Direction -> unsigned conversion for the neighbours.
static unsigned neighbourDirection (const CaloDirection &side)
 unsigned int -> Direction for the neighbours
static unsigned oppositeDirection (unsigned iside)
static CaloDirection oppositeSide (const CaloDirection &side)
static unsigned Side (const CaloDirection &side)
 Side -> unsigned conversion.
static CaloDirection Side (unsigned i)
 unsigned int -> Side conversion


Detailed Description

Definition at line 11 of file CaloDirectionOperations.h.


Constructor & Destructor Documentation

CaloDirectionOperations::CaloDirectionOperations (  )  [inline]

Definition at line 14 of file CaloDirectionOperations.h.

00014 {;}

CaloDirectionOperations::~CaloDirectionOperations (  )  [inline]

Definition at line 15 of file CaloDirectionOperations.h.

00015 {;}


Member Function Documentation

CaloDirection CaloDirectionOperations::add2d ( const CaloDirection dir1,
const CaloDirection dir2 
) [static]

Definition at line 4 of file CaloDirectionOperations.cc.

References EAST, NONE, NORTH, NORTHEAST, NORTHWEST, Side(), SOUTH, SOUTHEAST, SOUTHWEST, and WEST.

Referenced by EcalHitMaker::correspondingEdge(), EcalHitMaker::gapsLifting(), and EcalHitMaker::unbalancedDirection().

00005 {
00006   //  unsigned d1=Side(dir1);
00007   //  unsigned d2=Side(dir2);
00008   static CaloDirection tab[4][4]={{NORTH,NORTHEAST,NONE,NORTHWEST},
00009                                   {NORTHEAST,EAST,SOUTHEAST,NONE},
00010                                   {NONE,SOUTHEAST,SOUTH,SOUTHWEST},
00011                                   {NORTHWEST,NONE,SOUTHWEST,WEST}};
00012   return tab[Side(dir1)][Side(dir2)];
00013 }

CaloDirection CaloDirectionOperations::neighbourDirection ( unsigned  i  )  [static]

Direction -> unsigned conversion for the neighbours.

Definition at line 59 of file CaloDirectionOperations.cc.

References EAST, NORTH, NORTHEAST, NORTHWEST, SOUTH, SOUTHEAST, SOUTHWEST, and WEST.

00060 {
00061   static CaloDirection sides[8]={NORTH,EAST,SOUTH,WEST,NORTHEAST,SOUTHEAST,SOUTHWEST,NORTHWEST};
00062   //  if(i<0||i>7) return SOUTH;
00063   return sides[i];
00064 }

unsigned CaloDirectionOperations::neighbourDirection ( const CaloDirection side  )  [static]

unsigned int -> Direction for the neighbours

Definition at line 22 of file CaloDirectionOperations.cc.

References EAST, NORTH, NORTHEAST, NORTHWEST, HLT_VtxMuL3::result, SOUTH, SOUTHEAST, SOUTHWEST, and WEST.

Referenced by EcalHitMaker::configureGeometry(), and EcalHitMaker::diagonalEdge().

00023 {
00024   unsigned result;
00025   switch (side)
00026     {
00027     case NORTH:
00028       result=0;
00029       break;
00030     case EAST:
00031       result=1;
00032       break;
00033     case SOUTH:
00034       result=2;
00035       break;
00036     case WEST:
00037       result=3;
00038       break;
00039     case NORTHEAST:
00040       result=4;
00041       break;
00042     case SOUTHEAST:
00043       result=5;
00044       break;
00045     case SOUTHWEST:
00046       result=6;
00047       break;
00048     case NORTHWEST:
00049       result=7;
00050       break;
00051     default:
00052       result=999;
00053     }
00054   return result;
00055 }

unsigned CaloDirectionOperations::oppositeDirection ( unsigned  iside  )  [static]

Definition at line 140 of file CaloDirectionOperations.cc.

Referenced by EcalHitMaker::configureGeometry().

00141 {
00142   static unsigned od[8]={2,3,0,1,6,7,4,5};
00143   return od[iside];
00144   //  if(iside>=0&&iside<8) return od[iside];
00145   //  return 999;
00146 }

CaloDirection CaloDirectionOperations::oppositeSide ( const CaloDirection side  )  [static]

Definition at line 97 of file CaloDirectionOperations.cc.

References DOWN, EAST, NONE, NORTH, NORTHEAST, NORTHWEST, HLT_VtxMuL3::result, SOUTH, SOUTHEAST, SOUTHWEST, UP, and WEST.

Referenced by EcalHitMaker::correspondingEdge(), EcalHitMaker::diagonalEdge(), and EcalHitMaker::gapsLifting().

00098 {
00099   CaloDirection result;
00100   switch (side)
00101     {
00102     case UP:
00103       result=DOWN;
00104       break;
00105     case DOWN:
00106       result=UP;
00107       break;
00108     case EAST:
00109       result=WEST;
00110       break;
00111     case WEST:
00112       result=EAST;
00113       break;
00114     case NORTH:
00115       result=SOUTH;
00116       break;
00117     case SOUTH:
00118       result=NORTH;
00119       break;
00120     case NORTHEAST:
00121       result=SOUTHWEST;
00122       break;
00123     case NORTHWEST:
00124       result=SOUTHEAST;
00125       break;
00126     case SOUTHEAST:
00127       result=NORTHWEST;
00128       break;
00129     case SOUTHWEST:
00130       result=NORTHEAST;
00131       break;
00132       
00133     default:
00134       result=NONE;
00135     }
00136   return result;
00137 }

unsigned CaloDirectionOperations::Side ( const CaloDirection side  )  [static]

Side -> unsigned conversion.

Definition at line 67 of file CaloDirectionOperations.cc.

References DOWN, EAST, NORTH, HLT_VtxMuL3::result, SOUTH, UP, and WEST.

00068 {
00069   unsigned result;
00070   switch (side)
00071     {
00072     case NORTH:
00073       result=0;
00074       break;
00075     case EAST:
00076       result=1;
00077       break;
00078     case SOUTH:
00079       result=2;
00080       break;
00081     case WEST:
00082       result=3;
00083       break;
00084     case UP:
00085       result=4;
00086       break;
00087     case DOWN:
00088       result=5;
00089       break;
00090     default:
00091       result=999;
00092     }
00093   return result;
00094 }

CaloDirection CaloDirectionOperations::Side ( unsigned  i  )  [static]

unsigned int -> Side conversion

Definition at line 15 of file CaloDirectionOperations.cc.

References DOWN, EAST, NORTH, SOUTH, UP, and WEST.

Referenced by add2d(), EcalHitMaker::ecalCellLine(), BaseCrystal::exitingNormal(), BaseCrystal::getPlane(), BaseCrystal::getSide(), EcalHitMaker::reorganizePads(), and EcalHitMaker::setTrackParameters().

00016 {
00017   static CaloDirection sides[6]={NORTH,EAST,SOUTH,WEST,UP,DOWN};
00018   //  if(i<0||i>5) return DOWN;
00019   return sides[i];
00020 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:15:44 2009 for CMSSW by  doxygen 1.5.4