#include "hmdcsizescells.h" |
HMdcSizesCellsMod
class description - source file - inheritance tree (.pdf)
public:
HMdcSizesCellsMod(HMdcSizesCellsSec* pSec, Int_t mod)
HMdcSizesCellsMod(const HMdcSizesCellsMod&)
~HMdcSizesCellsMod()
void calcInterTrMod(Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2, Double_t& x, Double_t& y) const
void calcMdcHit(Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2, Double_t& x, Double_t& y, Double_t& xDir, Double_t& yDir) const
void calcMdcHit(Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2, Double_t eX1, Double_t eY1, Double_t eZ1, Double_t eX2, Double_t eY2, Double_t dZ1dX1, Double_t dZ1dY1, Double_t dZ2dX2, Double_t dZ2dY2, Double_t& x, Double_t& eX, Double_t& y, Double_t& eY, Double_t& xDir, Double_t& eXDir, Double_t& yDir, Double_t& eYDir) const
static TClass* Class()
const Double_t* getMdcHitLookupTb() const
Short_t getMod() const
Short_t getSec() const
const HGeomTransform* getSecTrans() const
Int_t getSize() const
HMdcSizesCells* getSizesCells()
const Double_t* getTfSysRSec() const
virtual TClass* IsA() const
HMdcSizesCellsMod& operator=(const HMdcSizesCellsMod&)
HMdcSizesCellsLayer& operator[](Int_t i) const
void rotVectTo(Double_t xi, Double_t yi, Double_t zi, Double_t& xo, Double_t& yo, Double_t& zo) const
Bool_t setSecTrans(const HGeomTransform* alignTrans = 0, Int_t sysOfAlignTrans = 0)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
void transFrom(Double_t& x, Double_t& y, Double_t& z) const
void transFromZ0(Double_t& x, Double_t& y, Double_t& z) const
void transFromZ0(Float_t& x, Float_t& y, Float_t& z) const
void transTo(Double_t& x, Double_t& y, Double_t& z) const
protected:
Short_t sector Address
Short_t module
HGeomTransform sysRSec Transformation sector<->module
Double_t tSysRSec[12] ---
Double_t ct[6] Lookup table for funct. calcMdcHit, ...
TObjArray* array array of pointers of type HMdcSizesCellsLayer
HMdcSizesCellsSec* pToSec Pointer to corresponding sector
HMdcSizesCells
HMdcSizesCellsSec
HMdcSizesCellsMod
HMdcSizesCellsLayer
HMdcSizesCellsCell
Creating the container and geting the pointer to cont.:
HMdcSizesCells* fSizesCells=HMdcSizesCells::getObject();
Geting the pointer to cont. (without creating):
HMdcSizesCells* fSizesCells=HMdcSizesCells::getExObject();
Deleting of container:
HMdcSizesCells::deleteCont();
Container class keep volumes sizes of wires (2-points/wire)
in coordinate system of sector and transformations layer<->mod,
layer<->sec, ...
It has same useful functions:
HMdcSizesCellsCell
Float_t getWireLength(void)
HMdcSizesCellsLayer:
HGeomTransform* getSecTrans();
HGeomTransform* getModTrans();
void transSecToRotLayer(HGeomVector& point);
Double_t getAlpha(const HGeomVector& p1, const HGeomVector& p2);
Double_t getDist(const HGeomVector& p1,
const HGeomVector& p2, Int_t cell);
void getImpact(const HGeomVector& p1, const HGeomVector& p2,
Int_t cell, Double_t &alpha, Double_t &per);
Double_t getImpact(Double_t x1,Double_t y1,Double_t z1,
Double_t x2,Double_t y2,Double_t z2, Int_t cell, Double_t &alphaPerp);
Bool_t getImpact(Double_t x1,Double_t y1,Double_t z1,
Double_t x2, Double_t y2, Double_t z2,
Int_t cell, Double_t &alphaDrDist, Double_t &driftDist);
Int_t getCellNum(Double_t x, Double_t y):
calculation the the cell number for the point x,y
on the wire plane. (x,y - in coor. sys. of layer, z=0)
Double_t getXSign(Double_t x1, Double_t y1, Double_t z1,
Double_t x2, Double_t y2, Double_t z2, Int_t cell)
Float_t getSignPath(Double_t x1,Double_t y1,Double_t z1,
Double_t x2, Double_t y2, Double_t z2, Int_t cell);
Float_t getSignPath(Double_t x1,Double_t y1,Double_t z1,
Double_t x2, Double_t y2, Double_t z2, Int_t cell, Float_t& outside);
HMdcSizesCellsMod:
HGeomTransform* getSecTrans();
HMdcSizesCellsSec:
HGeomTransform* getLabTrans();
HMdcSizesCells:
Bool_t getCellVol(Int_t sec, Int_t mod, Int_t lay,
Int_t cell, HMdcTrap& volCell);
Char_t findReadOutSide(Int_t s,Int_t m,Int_t l,Int_t c)
HMdcSizesCells* getSizesCells(void)
HMdcSizesCellsMod(HMdcSizesCellsSec* pSec, Int_t mod)
constructor creates an array of pointers of type
HMdcSizesCellsLayer
~HMdcSizesCellsMod(void)
destructor
Int_t getSize(void) const
return the size of the pointer array
Bool_t setSecTrans(const HGeomTransform * alignTrans,
Int_t sysOfAlignTrans)
void calcMdcHit(Double_t x1, Double_t y1, Double_t z1,
Double_t x2, Double_t y2, Double_t z2,
Double_t eX1, Double_t eY1, Double_t eZ1, Double_t eX2, Double_t eY2,
Double_t dZ1dX1, Double_t dZ1dY1, Double_t dZ2dX2, Double_t dZ2dY2,
Double_t& x, Double_t& eX, Double_t& y, Double_t& eY,
Double_t& xDir, Double_t& eXDir, Double_t& yDir, Double_t& eYDir) const
Calcul. a cross of the line with plane MDC (parA*x+parB*y+c*z=parD),
transform. this point to mdc coor.sys. (z=0) and calc.
hit direction in mdc coor.sys. and errors
Input param:
x1,y1,z1 - target or point on plane
x2,y2,z2 - point on plane
eX1,eY1,eZ1, eX2,eY2 - errors (eZ2=0!)
dZ2dX2 = -A2 where A2 - plane param. (z2=D2-A2*x2+B2*y2)
dZ2dY2 = -B2 where B2 - plane param. (z2=D2-A2*x2+B2*y2)
If P1-on plane
eZ1=0;
dZ1dX1 = -A1 where A1 - plane param. (z1=D1-A1*x1+B1*y1)
dZ1dY1 = -B1 where B1 - plane param. (z1=D1-A1*x1+B1*y1)
If P1-target:
dZ1dX1 = dZ1/dY1 = 0;
---Cross-----------------------------------------------
Inline Functions
HMdcSizesCellsLayer& operator[](Int_t i) const
Short_t getSec() const
Short_t getMod() const
const HGeomTransform* getSecTrans() const
void transTo(Double_t& x, Double_t& y, Double_t& z) const
void transFrom(Double_t& x, Double_t& y, Double_t& z) const
void transFromZ0(Double_t& x, Double_t& y, Double_t& z) const
void transFromZ0(Float_t& x, Float_t& y, Float_t& z) const
void rotVectTo(Double_t xi, Double_t yi, Double_t zi, Double_t& xo, Double_t& yo, Double_t& zo) const
void calcInterTrMod(Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2, Double_t& x, Double_t& y) const
void calcMdcHit(Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2, Double_t eX1, Double_t eY1, Double_t eZ1, Double_t eX2, Double_t eY2, Double_t dZ1dX1, Double_t dZ1dY1, Double_t dZ2dX2, Double_t dZ2dY2, Double_t& x, Double_t& eX, Double_t& y, Double_t& eY, Double_t& xDir, Double_t& eXDir, Double_t& yDir, Double_t& eYDir) const
const Double_t* getTfSysRSec() const
const Double_t* getMdcHitLookupTb() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
HMdcSizesCellsMod HMdcSizesCellsMod(const HMdcSizesCellsMod&)
HMdcSizesCellsMod& operator=(const HMdcSizesCellsMod&)
Last update: Fri Jan 26 12:15:25 2007
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.