mEmcGeometryModule Class Reference

#include <mEmcGeometryModule.h>

List of all members.


Detailed Description

EMCAL Geometry utilities.

Definition at line 26 of file mEmcGeometryModule.h.

Public Types

enum  ERealm { kReal = 0, kPISA = 1 }

Public Member Functions

 mEmcGeometryModule (ERealm type=kReal)
virtual ~mEmcGeometryModule ()
void BuildGeometry ()
void BuildGeometryPISA ()
void Retract ()
void Retract (float *eastEmc, float *westEmc)
void SetSectorDim (int is, int nX, int nY)
void SetTowerSize (int is, float xsz, float ysz)
void SetMatrixVector (int is, PHMatrix mx, PHVector vt)
void GetSectorDim (int is, int &nX, int &nY)
void GetTowerSize (int is, float &xsz, float &ysz)
void GetMatrixVector (int is, PHMatrix &mx, PHVector &vt)
int GetTowerPosLocal (int is, int ind, float &x, float &y, float &z)
int GetTowerPosLocal (int is, int ix, int iy, float &x, float &y, float &z)
int GetTowerPosGlobal (int is, int ind, float &x, float &y, float &z)
int GetTowerPosGlobal (int is, int ix, int iy, float &x, float &y, float &z)
double GetSectorCenterInGlobalCoords (int is, int xyz)
void LocalToGlobal (int is, float xl, float yl, float zl, float &xg, float &yg, float &zg)
void GlobalToLocal (float xg, float yg, float zg, int is, float &xl, float &yl, float &zl)
void print ()
void printCorners ()
void printSectorNumberingConventions ()
PHPanel GetPanel (short arm, short sector)
 julia's additions
void BuildPanels ()
void readFromDB ()
PHBoolean isIntersection (PHLine &, const short &)
PHBoolean Intersection (PHLine &, const short &, PHPoint &)
int HitInEMCalAcceptance (const float *, const float *)
int EventInEMCalAcceptance (const PISAEvent *pisaEvent, const int kevent, TTree *T)
bool HitInPbSc (const float *, const float *, int &)
bool HitInPbGl (const float *, const float *, int &)

Static Public Member Functions

static int emcOfflineToEmc (short arm, short sector)
 From EMCAL offline (arm,sector) convention to this module sector number convention.
static int emcOfflineToEmcOnline (short arm, short sector)
 From EMCAL offline (arm,sector) to EMCAL online (sector) sector number convention.
static void emcToPhenix (int i, short &arm, short &sector)
 From sector number (0-7) (this module convention) get ARM and SECTOR in PHENIX convention.
static int emcToEmcOnline (int iS)
 From sector number (this module convention) to sector number (emc online convention).
static int emcOnlineToEmc (int is)
 From sector number (emc online convention) to sector number (this module convention).
static int PhenixToEmc (short arm, short sector)
 From ARM and SECTOR (PHENIX convention) get sector number (this module convention).

Private Attributes

int nx [MAX_SECTORS]
int ny [MAX_SECTORS]
float tower_xsize [MAX_SECTORS]
float tower_ysize [MAX_SECTORS]
PHMatrix emcrm [MAX_SECTORS]
PHVector emctr [MAX_SECTORS]
PHMatrix invemcrm [MAX_SECTORS]
PHVector invemctr [MAX_SECTORS]
PHPanel emcSectors [NARMS][NSECTORS]


Member Enumeration Documentation

enum mEmcGeometryModule::ERealm
 

Enumerator:
kReal 
kPISA 

Definition at line 30 of file mEmcGeometryModule.h.


Constructor & Destructor Documentation

mEmcGeometryModule::mEmcGeometryModule ERealm  type = kReal  ) 
 

virtual mEmcGeometryModule::~mEmcGeometryModule  )  [inline, virtual]
 

Definition at line 34 of file mEmcGeometryModule.h.


Member Function Documentation

void mEmcGeometryModule::BuildGeometry  ) 
 

Definition at line 141 of file mEmcGeometryModule.C.

References emcrm, emctr, invemcrm, invemctr, MAX_SECTORS, and readFromDB().

void mEmcGeometryModule::BuildGeometryPISA  ) 
 

Definition at line 48 of file mEmcGeometryModule.C.

References emcrm, emctr, nx, ny, tower_xsize, and tower_ysize.

Referenced by readFromDB().

void mEmcGeometryModule::BuildPanels  ) 
 

Definition at line 611 of file mEmcGeometryModule.C.

References emcSectors, emcToPhenix(), LocalToGlobal(), nx, ny, tower_xsize, and tower_ysize.

Referenced by SetMatrixVector().

int mEmcGeometryModule::emcOfflineToEmc short  arm,
short  sector
[static]
 

From EMCAL offline (arm,sector) convention to this module sector number convention.

Definition at line 568 of file mEmcGeometryModule.C.

References PhenixToEmc().

Referenced by emcOfflineToEmcOnline().

int mEmcGeometryModule::emcOfflineToEmcOnline short  arm,
short  sector
[static]
 

From EMCAL offline (arm,sector) to EMCAL online (sector) sector number convention.

Definition at line 576 of file mEmcGeometryModule.C.

References emcOfflineToEmc(), and emcToEmcOnline().

int mEmcGeometryModule::emcOnlineToEmc int  is  )  [static]
 

From sector number (emc online convention) to sector number (this module convention).

Definition at line 584 of file mEmcGeometryModule.C.

References emcToEmcOnline().

int mEmcGeometryModule::emcToEmcOnline int  iS  )  [static]
 

From sector number (this module convention) to sector number (emc online convention).

Definition at line 546 of file mEmcGeometryModule.C.

Referenced by emcOfflineToEmcOnline(), emcOnlineToEmc(), and printSectorNumberingConventions().

void mEmcGeometryModule::emcToPhenix int  i,
short &  arm,
short &  sector
[static]
 

From sector number (0-7) (this module convention) get ARM and SECTOR in PHENIX convention.

Definition at line 532 of file mEmcGeometryModule.C.

Referenced by BuildPanels(), GetSectorCenterInGlobalCoords(), Intersection(), printSectorNumberingConventions(), and SetMatrixVector().

int mEmcGeometryModule::EventInEMCalAcceptance const PISAEvent *  pisaEvent,
const int  kevent,
TTree *  T
 

Definition at line 762 of file mEmcGeometryModule.C.

References HitInEMCalAcceptance().

void mEmcGeometryModule::GetMatrixVector int  is,
PHMatrix &  mx,
PHVector &  vt
 

Definition at line 335 of file mEmcGeometryModule.C.

References emcrm, emctr, and MAX_SECTORS.

Referenced by mEmcClusterNewModule::mEmcClusterNewModule().

PHPanel mEmcGeometryModule::GetPanel short  arm,
short  sector
 

julia's additions

Definition at line 524 of file mEmcGeometryModule.C.

References emcSectors.

Referenced by GetSectorCenterInGlobalCoords().

double mEmcGeometryModule::GetSectorCenterInGlobalCoords int  is,
int  xyz
 

Definition at line 453 of file mEmcGeometryModule.C.

References emcToPhenix(), and GetPanel().

void mEmcGeometryModule::GetSectorDim int  is,
int &  nX,
int &  nY
 

Definition at line 307 of file mEmcGeometryModule.C.

References MAX_SECTORS, nx, and ny.

Referenced by mEmcClusterNewModule::mEmcClusterNewModule().

int mEmcGeometryModule::GetTowerPosGlobal int  is,
int  ix,
int  iy,
float &  x,
float &  y,
float &  z
 

Definition at line 427 of file mEmcGeometryModule.C.

References ABSURD, emcrm, emctr, and GetTowerPosLocal().

int mEmcGeometryModule::GetTowerPosGlobal int  is,
int  ind,
float &  x,
float &  y,
float &  z
 

Definition at line 402 of file mEmcGeometryModule.C.

References ABSURD, emcrm, emctr, and GetTowerPosLocal().

int mEmcGeometryModule::GetTowerPosLocal int  is,
int  ix,
int  iy,
float &  x,
float &  y,
float &  z
 

Definition at line 375 of file mEmcGeometryModule.C.

References ABSURD, MAX_SECTORS, ny, tower_xsize, and tower_ysize.

int mEmcGeometryModule::GetTowerPosLocal int  is,
int  ind,
float &  x,
float &  y,
float &  z
 

Definition at line 347 of file mEmcGeometryModule.C.

References ABSURD, MAX_SECTORS, nx, ny, tower_xsize, and tower_ysize.

Referenced by GetTowerPosGlobal().

void mEmcGeometryModule::GetTowerSize int  is,
float &  xsz,
float &  ysz
 

Definition at line 321 of file mEmcGeometryModule.C.

References MAX_SECTORS, tower_xsize, and tower_ysize.

Referenced by mEmcClusterNewModule::mEmcClusterNewModule().

void mEmcGeometryModule::GlobalToLocal float  xg,
float  yg,
float  zg,
int  is,
float &  xl,
float &  yl,
float &  zl
 

Definition at line 506 of file mEmcGeometryModule.C.

References invemcrm, invemctr, and MAX_SECTORS.

int mEmcGeometryModule::HitInEMCalAcceptance const float *  ,
const float * 
 

Definition at line 718 of file mEmcGeometryModule.C.

References isIntersection().

Referenced by EventInEMCalAcceptance(), HitInPbGl(), and HitInPbSc().

bool mEmcGeometryModule::HitInPbGl const float *  ,
const float *  ,
int & 
 

Definition at line 943 of file mEmcGeometryModule.C.

References HitInEMCalAcceptance().

bool mEmcGeometryModule::HitInPbSc const float *  ,
const float *  ,
int & 
 

Definition at line 925 of file mEmcGeometryModule.C.

References HitInEMCalAcceptance().

PHBoolean mEmcGeometryModule::Intersection PHLine &  ,
const short &  ,
PHPoint & 
 

Definition at line 690 of file mEmcGeometryModule.C.

References emcSectors, and emcToPhenix().

Referenced by isIntersection().

PHBoolean mEmcGeometryModule::isIntersection PHLine &  ,
const short & 
 

Definition at line 682 of file mEmcGeometryModule.C.

References Intersection().

Referenced by mEmcToolsModule::HitInEMCalAcceptance(), and HitInEMCalAcceptance().

void mEmcGeometryModule::LocalToGlobal int  is,
float  xl,
float  yl,
float  zl,
float &  xg,
float &  yg,
float &  zg
 

Definition at line 489 of file mEmcGeometryModule.C.

References emcrm, emctr, and MAX_SECTORS.

Referenced by BuildPanels(), and printCorners().

int mEmcGeometryModule::PhenixToEmc short  arm,
short  sector
[static]
 

From ARM and SECTOR (PHENIX convention) get sector number (this module convention).

Definition at line 591 of file mEmcGeometryModule.C.

Referenced by emcOfflineToEmc().

void mEmcGeometryModule::print  ) 
 

Definition at line 213 of file mEmcGeometryModule.C.

References emctr, nx, ny, tower_xsize, and tower_ysize.

void mEmcGeometryModule::printCorners  ) 
 

Definition at line 228 of file mEmcGeometryModule.C.

References LocalToGlobal(), nx, ny, tower_xsize, and tower_ysize.

void mEmcGeometryModule::printSectorNumberingConventions  ) 
 

Definition at line 117 of file mEmcGeometryModule.C.

References emcToEmcOnline(), emcToPhenix(), MAX_SECTORS, and name.

void mEmcGeometryModule::readFromDB  ) 
 

Definition at line 157 of file mEmcGeometryModule.C.

References BuildGeometryPISA(), emcrm, emctr, emcDBMS::get(), emcDataManager::GetInstance(), MAX_SECTORS, emcGeometry::NumberOfSectors(), SecGeom::nx, nx, SecGeom::ny, ny, emcDataManager::Read(), SecGeom::RotationMatrix(), emcGeometry::Sector(), emcManageable::SetSource(), SecGeom::Tower_xSize, tower_xsize, SecGeom::Tower_ySize, tower_ysize, and SecGeom::TranslationVector().

Referenced by BuildGeometry().

void mEmcGeometryModule::Retract float *  eastEmc,
float *  westEmc
 

Definition at line 193 of file mEmcGeometryModule.C.

References emctr.

void mEmcGeometryModule::Retract  ) 
 

Definition at line 185 of file mEmcGeometryModule.C.

void mEmcGeometryModule::SetMatrixVector int  is,
PHMatrix  mx,
PHVector  vt
 

Definition at line 287 of file mEmcGeometryModule.C.

References BuildPanels(), emcrm, emcToPhenix(), emctr, invemcrm, invemctr, and MAX_SECTORS.

void mEmcGeometryModule::SetSectorDim int  is,
int  nX,
int  nY
 

Definition at line 263 of file mEmcGeometryModule.C.

References MAX_SECTORS, nx, and ny.

void mEmcGeometryModule::SetTowerSize int  is,
float  xsz,
float  ysz
 

Definition at line 275 of file mEmcGeometryModule.C.

References MAX_SECTORS, tower_xsize, and tower_ysize.


Member Data Documentation

PHMatrix mEmcGeometryModule::emcrm[MAX_SECTORS] [private]
 

Definition at line 104 of file mEmcGeometryModule.h.

Referenced by BuildGeometry(), BuildGeometryPISA(), GetMatrixVector(), GetTowerPosGlobal(), LocalToGlobal(), readFromDB(), and SetMatrixVector().

PHPanel mEmcGeometryModule::emcSectors[NARMS][NSECTORS] [private]
 

Definition at line 108 of file mEmcGeometryModule.h.

Referenced by BuildPanels(), GetPanel(), and Intersection().

PHVector mEmcGeometryModule::emctr[MAX_SECTORS] [private]
 

Definition at line 105 of file mEmcGeometryModule.h.

Referenced by BuildGeometry(), BuildGeometryPISA(), GetMatrixVector(), GetTowerPosGlobal(), LocalToGlobal(), print(), readFromDB(), Retract(), and SetMatrixVector().

PHMatrix mEmcGeometryModule::invemcrm[MAX_SECTORS] [private]
 

Definition at line 106 of file mEmcGeometryModule.h.

Referenced by BuildGeometry(), GlobalToLocal(), and SetMatrixVector().

PHVector mEmcGeometryModule::invemctr[MAX_SECTORS] [private]
 

Definition at line 107 of file mEmcGeometryModule.h.

Referenced by BuildGeometry(), GlobalToLocal(), and SetMatrixVector().

int mEmcGeometryModule::nx[MAX_SECTORS] [private]
 

Definition at line 100 of file mEmcGeometryModule.h.

Referenced by BuildGeometryPISA(), BuildPanels(), GetSectorDim(), GetTowerPosLocal(), print(), printCorners(), readFromDB(), and SetSectorDim().

int mEmcGeometryModule::ny[MAX_SECTORS] [private]
 

Definition at line 101 of file mEmcGeometryModule.h.

Referenced by BuildGeometryPISA(), BuildPanels(), GetSectorDim(), GetTowerPosLocal(), print(), printCorners(), readFromDB(), and SetSectorDim().

float mEmcGeometryModule::tower_xsize[MAX_SECTORS] [private]
 

Definition at line 102 of file mEmcGeometryModule.h.

Referenced by BuildGeometryPISA(), BuildPanels(), GetTowerPosLocal(), GetTowerSize(), print(), printCorners(), readFromDB(), and SetTowerSize().

float mEmcGeometryModule::tower_ysize[MAX_SECTORS] [private]
 

Definition at line 103 of file mEmcGeometryModule.h.

Referenced by BuildGeometryPISA(), BuildPanels(), GetTowerPosLocal(), GetTowerSize(), print(), printCorners(), readFromDB(), and SetTowerSize().


The documentation for this class was generated from the following files: