FEDRA emulsion software from the OPERA Collaboration
EdbPlateP Class Reference

#include <EdbBrick.h>

Inheritance diagram for EdbPlateP:
Collaboration diagram for EdbPlateP:

Public Member Functions

void Copy (EdbPlateP &p)
 
 EdbPlateP ()
 
 EdbPlateP (EdbPlateP &pp)
 
EdbLayerGetLayer (int i)
 
void Print ()
 
void PrintPlateLayout ()
 
void SetDXDY (float dx, float dy)
 
void SetOperaLayout ()
 
void SetPlateLayout (float z0, float z1, float z2)
 
void TransformSidesIntoPlateRS ()
 
 ~EdbPlateP ()
 
- Public Member Functions inherited from EdbLayer
const EdbAffine2DAffineTXTY () const
 
const EdbAffine2DAffineXY () const
 
void ApplyCorrections (EdbLayer &la)
 
void ApplyCorrections (float shr, float zcorr, const EdbAffine2D &affxy, const EdbAffine2D &afftxty)
 
void ApplyCorrectionsLocal (EdbCorrectionMap &map)
 
void Copy (const EdbLayer &l)
 
void CopyCorr (const EdbLayer &l)
 
void CorrectSeg (EdbSegP &s)
 
void CorrectSegLocal (EdbSegP &s)
 
float DX () const
 
float DY () const
 
float DZ () const
 
 EdbLayer ()
 ============================================================================== More...
 
 EdbLayer (const EdbLayer &l)
 ============================================================================== More...
 
EdbAffine2DGetAffineTXTY ()
 
EdbAffine2DGetAffineXY ()
 
int ID () const
 
void Invert ()
 
bool IsInside (float x, float y)
 
bool IsInside (float x, float y, float z)
 
EdbCorrectionMapMap ()
 
int Ncp () const
 
void Print ()
 
void ResetAffTXTY ()
 
void ResetAffXY ()
 
void ResetCorr ()
 
void Set0 ()
 ============================================================================== More...
 
void SetAffTXTY (float a11, float a12, float a21, float a22, float b1, float b2)
 
void SetAffXY (float a11, float a12, float a21, float a22, float b1, float b2)
 
void SetDXDY (float dx, float dy)
 
void SetID (int id)
 
void SetNcp (int n)
 
void SetShrinkage (float shr)
 
void SetTXTY (float tx, float ty)
 
void SetXY (float x, float y)
 
void SetZ (float z)
 
void SetZcorr (float zcorr)
 
void SetZlayer (float z, float zmin, float zmax)
 
void ShiftZ (float dz)
 
float Shr () const
 
void SubstructCorrections (EdbLayer &la)
 
float TX () const
 
float TX (EdbSegP &s)
 
float TXp (EdbSegP &s)
 
float TY () const
 
float TY (EdbSegP &s)
 
float TYp (EdbSegP &s)
 
float X () const
 
float X (EdbSegP &s)
 
float Xmax () const
 
float Xmin () const
 
float Xp (EdbSegP &s)
 
float Y () const
 
float Y (EdbSegP &s)
 
float Ymax () const
 
float Ymin () const
 
float Yp (EdbSegP &s)
 
float Z () const
 
float Zcorr () const
 
float Zmax () const
 
float Zmin () const
 
float Zxy ()
 
virtual ~EdbLayer ()
 

Private Attributes

TObjArray eLayers
 0-base, 1-up, 2-down More...
 

Detailed Description

//////////////////////////////////////////////////////////////////////// // EdbBrick - OPERA Brick structure definition // // ////////////////////////////////////////////////////////////////////////

Constructor & Destructor Documentation

◆ EdbPlateP() [1/2]

EdbPlateP::EdbPlateP ( )

◆ EdbPlateP() [2/2]

EdbPlateP::EdbPlateP ( EdbPlateP pp)
inline
21: EdbLayer(pp) { for(int i=0; i<3; i++) eLayers.Add(new EdbLayer(*(pp.GetLayer(i)))); }
Definition: EdbLayer.h:39
EdbLayer()
==============================================================================
Definition: EdbLayer.cxx:11
EdbLayer * GetLayer(int i)
Definition: EdbBrick.h:29
TObjArray eLayers
0-base, 1-up, 2-down
Definition: EdbBrick.h:17

◆ ~EdbPlateP()

EdbPlateP::~EdbPlateP ( )
inline
23{eLayers.Delete();}

Member Function Documentation

◆ Copy()

void EdbPlateP::Copy ( EdbPlateP p)
25{
26 *((EdbLayer*)this) = *((EdbLayer*)&pp);
27 for(int i=0; i<3; i++) (*(GetLayer(i))) = (*(pp.GetLayer(i)));
28}

◆ GetLayer()

EdbLayer * EdbPlateP::GetLayer ( int  i)
inline
29{return (i < 0) ? 0 : (EdbLayer*)eLayers.At(i);}

◆ Print()

void EdbPlateP::Print ( )
42{
43 printf("\nEdbPlateP:\n");
44 ((EdbLayer*)this)->Print();
45 printf("has 3 layers:\n");
46 for(int i=0; i<3; i++) GetLayer(i)->Print();
47}
void Print()
Definition: EdbLayer.cxx:149

◆ PrintPlateLayout()

void EdbPlateP::PrintPlateLayout ( )
51{
52 printf("EdbPlateP limits: |%f %f||%f %f||%f %f|\n",
53 GetLayer(1)->Zmin(), GetLayer(1)->Zmax(),
54 GetLayer(0)->Zmin(), GetLayer(0)->Zmax(),
55 GetLayer(2)->Zmin(), GetLayer(2)->Zmax() );
56 printf("EdbPlateP references: | %f | %f | %f |\n\n", GetLayer(1)->Z(), GetLayer(0)->Z(), GetLayer(2)->Z());
57}
float Zmin() const
Definition: EdbLayer.h:80
float Zmax() const
Definition: EdbLayer.h:81
float Z() const
Definition: EdbLayer.h:77

◆ SetDXDY()

void EdbPlateP::SetDXDY ( float  dx,
float  dy 
)
74{
75 ((EdbLayer*)this)->SetDXDY(dx,dy);
76 for(int i=0; i<3; i++) GetLayer(i)->SetDXDY(dx,dy);
77}
void SetDXDY(float dx, float dy)
Definition: EdbLayer.h:97

◆ SetOperaLayout()

void EdbPlateP::SetOperaLayout ( )
inline
27{ SetPlateLayout(210,44,44); }
void SetPlateLayout(float z0, float z1, float z2)
Definition: EdbBrick.cxx:60

◆ SetPlateLayout()

void EdbPlateP::SetPlateLayout ( float  z0,
float  z1,
float  z2 
)

layers: | 1 | 0 | 2 | -z0/2.-z1 -z0/2 0. z0/2 z0/2.+z2

61{
64 float zpl = Z();
65 GetLayer(0)->SetZlayer( 0. , -z0/2. , z0/2. ); // (reference_z, zstart, zfinish) in plate's coord
66 GetLayer(1)->SetZlayer( -z0/2. , -z0/2.- z1 , -z0/2. );
67 GetLayer(2)->SetZlayer( z0/2. , z0/2. , z0/2.+z2 );
68 SetZlayer( zpl, zpl-z0/2.- z1, zpl+z0/2.+z2 ); // total plate dimension and reference - can be resetted by the external function
69 Log(3,"EdbPlateP::SetPlateLayout", "|%f |%f %f| %f|",-z0/2.- z1, -z0/2., z0/2., z0/2.+z2);
70}
bool Log(int level, const char *location, const char *fmt,...)
Definition: EdbLog.cxx:75
brick z0
Definition: RecDispMC.C:106
void SetZlayer(float z, float zmin, float zmax)
Definition: EdbLayer.h:101

◆ TransformSidesIntoPlateRS()

void EdbPlateP::TransformSidesIntoPlateRS ( )

this function should be applied only once!

32{
34 for(int i=0; i<3; i++) {
35 GetLayer(i)->CopyCorr( *((EdbLayer *)this) );
36 GetLayer(i)->ShiftZ( Z() );
37 }
38}
void ShiftZ(float dz)
Definition: EdbLayer.cxx:121
void CopyCorr(const EdbLayer &l)
Definition: EdbLayer.cxx:53

Member Data Documentation

◆ eLayers

TObjArray EdbPlateP::eLayers
private

0-base, 1-up, 2-down


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