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, bool nomap=false)
 
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 PrintLocal ()
 
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
 

Constructor & Destructor Documentation

◆ EdbPlateP() [1/2]

EdbPlateP::EdbPlateP ( )

◆ EdbPlateP() [2/2]

EdbPlateP::EdbPlateP ( EdbPlateP pp)
inline
20 : EdbLayer(pp) { for(int i=0; i<3; i++) eLayers.Add(new EdbLayer(*(pp.GetLayer(i)))); }
Definition: EdbLayer.h:40
EdbLayer()
==============================================================================
Definition: EdbLayer.cxx:11
EdbLayer * GetLayer(int i)
Definition: EdbBrick.h:28
TObjArray eLayers
Definition: EdbBrick.h:16

◆ ~EdbPlateP()

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

Member Function Documentation

◆ Copy()

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

◆ GetLayer()

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

◆ Print()

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

◆ PrintPlateLayout()

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

◆ SetDXDY()

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

◆ SetOperaLayout()

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

◆ SetPlateLayout()

void EdbPlateP::SetPlateLayout ( float  z0,
float  z1,
float  z2 
)
59 {
60  //layers: | 1 | 0 | 2 |
61  // -z0/2.-z1 -z0/2 0. z0/2 z0/2.+z2
62  float zpl = Z();
63  GetLayer(0)->SetZlayer( 0. , -z0/2. , z0/2. ); // (reference_z, zstart, zfinish) in plate's coord
64  GetLayer(1)->SetZlayer( -z0/2. , -z0/2.- z1 , -z0/2. );
65  GetLayer(2)->SetZlayer( z0/2. , z0/2. , z0/2.+z2 );
66  SetZlayer( zpl, zpl-z0/2.- z1, zpl+z0/2.+z2 ); // total plate dimension and reference - can be resetted by the external function
67  Log(3,"EdbPlateP::SetPlateLayout", "|%f |%f %f| %f|",-z0/2.- z1, -z0/2., z0/2., z0/2.+z2);
68 }
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:102

◆ TransformSidesIntoPlateRS()

void EdbPlateP::TransformSidesIntoPlateRS ( )
30 {
31  // this function should be applied only once!
32  for(int i=0; i<3; i++) {
33  GetLayer(i)->CopyCorr( *((EdbLayer *)this) );
34  GetLayer(i)->ShiftZ( Z() );
35  }
36 }
void ShiftZ(float dz)
Definition: EdbLayer.cxx:122
void CopyCorr(const EdbLayer &l)
Definition: EdbLayer.cxx:54

Member Data Documentation

◆ eLayers

TObjArray EdbPlateP::eLayers
private

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