StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
EEmcSmdGeom Class Reference

#include <EEmcSmdGeom.h>

Inheritance diagram for EEmcSmdGeom:
StEEmcSmdGeom

Public Member Functions

 EEmcSmdGeom ()
 defaulty constructor
 
virtual ~EEmcSmdGeom ()
 default empty destructor
 
const StructEEmcStripgetDcaStripPtr (const Int_t iPlane, const TVector3 &point, Float_t *dca) const
 
const StructEEmcStripgetDcaStripPtr (const Int_t iPlane, const Int_t iSec, const TVector3 &point, Float_t *dca) const
 
void init ()
 Initialize geometry class.
 
void buildStripPtrVector ()
 build mStripPtrVector
 
void setSectors (const intVec sectorIdVec)
 set sectors for partial EEMC
 
bool IsSectorIn (const Int_t iSec) const
 return sector status
 
StructEEmcStrip initStrip () const
 instance and initialize a strip
 
StructEEmcSmdParamgetEEmcSmdParam ()
 return SMD geometry parameters
 
const StructEEmcSmdParamgetEEmcSmdParam () const
 
StructEEmcSmdSectorgetEEmcSector (const Int_t iUV, const Int_t iSec)
 return structure-sector from iUV and iSec
 
const StructEEmcSmdSectorgetEEmcSector (const Int_t iUV, const Int_t iSec) const
 
Int_t getEEmcISec (const Int_t iPlane, const TVector3 &point) const
 return index of a sector from a point in a plane
 
StructEEmcStripgetStripPtr (const Int_t iStrip, const Int_t iUV, const Int_t iSec)
 return a strip pointer from indices
 
const StructEEmcStripgetStripPtr (const Int_t iStrip, const Int_t iUV, const Int_t iSec) const
 
const StructEEmcStripgetDca2Strip (const Int_t iUV, const TVector3 &point, Float_t *dca) const
 
TVector3 getIntersection (Int_t iSec, Int_t iUStrip, Int_t iVStrip, const TVector3 &vertex) const
 
TVector3 getIntersection (const StructEEmcStrip *u, const StructEEmcStrip *v, const TVector3 &vertex) const
 
TVector3 getIntersection (Int_t iSec, Int_t iUStrip, Int_t iVStrip) const
 Assumes nominal vertex (0,0,0)
 
TVector3 getIntersection (Int_t iSec, Float_t iUStrip, Float_t iVStrip) const
 Assumes nominal vertex (0,0,0)
 
TVector3 getIntersection (const StructEEmcStrip *u, const StructEEmcStrip *v) const
 Assumes nominal vertex (0,0,0)
 
Int_t getNStrips (Int_t iSec, Int_t iUV) const
 
bool matchStrips (const StructEEmcStripId &stripStructId1, const StructEEmcStripId &stripStructId2, Int_t nTolerance) const
 match two strips
 
TVector3 getstripEnd (const StructEEmcStrip &strip, const Int_t endId) const
 return strip-end of 3D-vector
 
void printGeom (ostream &os=cout) const
 printout global geometry parameters
 
void printSector (const StructEEmcSmdSector Sector, ostream &os=cout) const
 printout sector-specific geometry parameters
 
void printStrip (const StructEEmcStrip Strip, ostream &os=cout) const
 printout strip-specific geometry parameters
 
void printStripId (const StructEEmcStripId StripId, ostream &os=cout) const
 printout stripStructId
 

Static Public Member Functions

static EEmcSmdGeominstance ()
 
static EEmcSmdGeominstance (intVec sectorIdVec)
 

Protected Member Functions

void buildSmdGeom ()
 

Protected Attributes

StructEEmcSmdParam mEEmcSmdParam
 
StructEEmcSmdSector mEEmcSector [kEEmcNumSmdUVs][kEEmcNumSectors]
 general geometry variables
 
EEmcStripPtrVec mStripPtrVector
 storage for all strip pointers More...
 
bool mIsSectorIn [kEEmcNumSectors]
 storage for all strip pointers
 
int kEEmcSmdMap_iPlane [kEEmcNumSmdUVs][kEEmcNumSectors]
 sector status.
 

Static Protected Attributes

static EEmcSmdGeomsInstance = 0
 

Detailed Description

Author
Wei-Ming Zhangg, Jason Webb
Id:
EEmcSmdGeom.cxx,v 1.17 2015/07/21 17:10:02 jeromel Exp

Author: Wei-Ming Zhang

Revisions:

01/28/04 Jason Webb – Renamed to EEmcSmdGeom, StRoot dependent code moved to a derived class StEEmcSmdGeom. The user interface for StEEmcSmdGeom should remain unchanged. Revision history for StEEmcSmdGeom moved to end of header file.

Description: Interface to EEMC-SMD database

The following demensions are defined for SMD in EEmcGeomDefs.h EEmcNumSectors = 12 (The order follows numbering scheme of TPC sectors) kEEmcNumSmdPlanes = 3 (1: the innermost and 3: the outermost) kEEmcNumStrips =288 (1: the shortes inner and 288: the shortest outer) kEEmcNumEdgeStrips =283 (1: the shortes inner and 283: the shortest outer) kEEmcNumSmdLayers = 2 (1: U and 2: V)

Author
Wei-Ming Zhangg, Jason Webb
Id:
EEmcSmdGeom.h,v 1.10 2010/08/26 22:48:55 ogrebeny Exp

Description: Interface to EEMC-SMD database

The following demensions are defined for SMD in EEmcGeomDefs.h EEmcNumSectors = 12 (The order follows numbering scheme of TPC sectors) kEEmcNumSmdPlanes = 3 (1: the innermost and 3: the outermost) kEEmcNumStrips =288 (1: the shortes inner and 288: the shortest outer) kEEmcNumEdgeStrips =283 (1: the shortes inner and 283: the shortest outer) kEEmcNumSmdLayers = 2 (1: U and 2: V)

Valid range of arguments for ~all input params for methods in this class iSec=[0,11], maps sectors [1,12] iUV=[0,1], maps SMD planes [U,V] iPlane=[0,1,2] - experts only, changes meaning form sector to sector iUStrip, iVStrip=[0,287], maps SMD strip ID [1,288]

Definition at line 92 of file EEmcSmdGeom.h.

Member Function Documentation

const StructEEmcStrip * EEmcSmdGeom::getDca2Strip ( const Int_t  iUV,
const TVector3 &  point,
Float_t *  dca 
) const

Returns a pointer to the eemc smd strip which is closest to the given point in the specified SMD plane.

Parameters
iUV0=smd-u plane, 1=smd-v plane
pointTVector3 specifying a point on the endcap
dcadistance of closest approach to the strip priori we do not know if the track is charged or not and how to extrapolate it. must takes care to provide 'point' at the z-location he/she needs the cross point. I realize it is the chicken and egg problem if we want sub-mm accuracy. May be solved by iterations.

Definition at line 457 of file EEmcSmdGeom.cxx.

References getDcaStripPtr(), and kEEmcSmdMap_iPlane.

const StructEEmcStrip * EEmcSmdGeom::getDcaStripPtr ( const Int_t  iPlane,
const TVector3 &  point,
Float_t *  dca 
) const

iPlane=[0,1,2] - experts only, changes meaning form sector to sector return a DCA strip pointer from a point (float *dca carries sign)

Definition at line 446 of file EEmcSmdGeom.cxx.

References getEEmcISec().

Referenced by getDca2Strip().

TVector3 EEmcSmdGeom::getIntersection ( Int_t  iSec,
Int_t  iUStrip,
Int_t  iVStrip,
const TVector3 &  vertex 
) const

In a given sector, return the vector from the specified vertex along the line defined by the intersection of the two planes defined by the two SMD strips. If two strips do not intersect, a warning is issued and -999 returned in the third component.

Parameters
iSecsector number [0,12)
iUStripindex of the U strip [0,nstrips)
iVStripindex of the V strip [0,nstrips)
vertexthe event vertex

Definition at line 628 of file EEmcSmdGeom.cxx.

References getNStrips(), and getStripPtr().

Referenced by StMyPointMaker::AssociateClusters(), StEEmcPointMaker::buildSmdPoints(), StEEmcIUPointMaker::buildSmdPoints(), StEEmcPointFinderIU_t::findPoints(), StEEmcPointFitMaker::FitSector(), getIntersection(), and StMyPointMaker::Make().

TVector3 EEmcSmdGeom::getIntersection ( const StructEEmcStrip u,
const StructEEmcStrip v,
const TVector3 &  vertex 
) const

Return the vector from the specified vertex along the line defined by the intersection of the two planes defined by the two SMD strips. If two strips do not intersect, a warning is issued and -999 returned in the third component.

Parameters
ua pointer to the structure which defines the smd-u strip
va pointer to the structure which defines the smd-v strip
vertexthe event vertex

Definition at line 644 of file EEmcSmdGeom.cxx.

References getStripPtr().

Int_t EEmcSmdGeom::getNStrips ( Int_t  iSec,
Int_t  iUV 
) const
inline

Returns the number of SMD strips in the specified sector and plane

Parameters
iSeceemc sector number [0,12)
iUVeemc smd plane number 0=U 1=V

Definition at line 192 of file EEmcSmdGeom.h.

References getEEmcSector().

Referenced by getIntersection().

Member Data Documentation

EEmcStripPtrVec EEmcSmdGeom::mStripPtrVector
protected

storage for all strip pointers

storage for 2*12 sectors

Definition at line 103 of file EEmcSmdGeom.h.

Referenced by buildStripPtrVector(), and getStripPtr().


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