FEDRA emulsion software from the OPERA Collaboration
EdbBrick.h
Go to the documentation of this file.
1#ifndef ROOT_EdbBrick
2#define ROOT_EdbBrick
5
9
10#include "TObjArray.h"
11#include "EdbLayer.h"
12
13//______________________________________________________________________________
14class EdbPlateP : public EdbLayer {
15
16 private:
17 TObjArray eLayers;
18
19 public:
21 EdbPlateP(EdbPlateP &pp): EdbLayer(pp) { for(int i=0; i<3; i++) eLayers.Add(new EdbLayer(*(pp.GetLayer(i)))); }
22
23 ~EdbPlateP(){eLayers.Delete();}
24
25 void Copy(EdbPlateP &p);
26 void SetPlateLayout(float z0, float z1, float z2);
27 void SetOperaLayout() { SetPlateLayout(210,44,44); }
28 void PrintPlateLayout();
29 EdbLayer *GetLayer(int i) {return (i < 0) ? 0 : (EdbLayer*)eLayers.At(i);}
30 void SetDXDY(float dx, float dy);
32 void Print();
33
34 ClassDef(EdbPlateP,1)
35};
36
37//______________________________________________________________________________
38class EdbBrickP : public EdbLayer {
39
40 private:
41 TObjArray ePlates;
42 TObjArray eSpacers;
43
44 public:
45 EdbBrickP();
46 ~EdbBrickP(){ePlates.Delete(); eSpacers.Delete();}
47
48 void Copy(EdbBrickP &b);
49 void SetPlatesLayout(float z0, float z1, float z2);
50 void SetDXDY(float dx, float dy);
51 int Npl() const {return ePlates.GetEntries();}
52 void AddPlate(EdbPlateP *pl) { ePlates.Add(pl); }
53 EdbPlateP *GetPlate(int i) {return (EdbPlateP*)ePlates.At(i);}
54 void Clear() { ePlates.Clear(); eSpacers.Clear(); }
55 void Print();
56 void PrintSides();
57 void RemovePlate(int pid);
58 void ResetAffXY();
59 void ResetAffTXTY();
61
62 ClassDef(EdbBrickP,1)
63};
64
65
66#endif /* ROOT_EdbBrick */
67
brick z0
Definition: RecDispMC.C:106
Definition: EdbBrick.h:38
void Clear()
Definition: EdbBrick.h:54
void RemovePlate(int pid)
Definition: EdbBrick.cxx:104
EdbPlateP * GetPlate(int i)
Definition: EdbBrick.h:53
void AddPlate(EdbPlateP *pl)
Definition: EdbBrick.h:52
TObjArray eSpacers
Definition: EdbBrick.h:42
void ResetAff()
Definition: EdbBrick.h:60
void PrintSides()
Definition: EdbBrick.cxx:141
~EdbBrickP()
Definition: EdbBrick.h:46
EdbBrickP()
Definition: EdbBrick.cxx:80
void Copy(EdbBrickP &b)
Definition: EdbBrick.cxx:85
void SetPlatesLayout(float z0, float z1, float z2)
Definition: EdbBrick.cxx:97
void SetDXDY(float dx, float dy)
Definition: EdbBrick.cxx:116
void ResetAffXY()
Definition: EdbBrick.cxx:123
TObjArray ePlates
Definition: EdbBrick.h:41
void Print()
Definition: EdbBrick.cxx:134
int Npl() const
Definition: EdbBrick.h:51
void ResetAffTXTY()
Definition: EdbBrick.cxx:128
Definition: EdbLayer.h:39
Definition: EdbBrick.h:14
void SetDXDY(float dx, float dy)
Definition: EdbBrick.cxx:73
void Print()
Definition: EdbBrick.cxx:41
EdbLayer * GetLayer(int i)
Definition: EdbBrick.h:29
void Copy(EdbPlateP &p)
Definition: EdbBrick.cxx:24
EdbPlateP(EdbPlateP &pp)
Definition: EdbBrick.h:21
void SetOperaLayout()
Definition: EdbBrick.h:27
void SetPlateLayout(float z0, float z1, float z2)
Definition: EdbBrick.cxx:60
void TransformSidesIntoPlateRS()
Definition: EdbBrick.cxx:31
void PrintPlateLayout()
Definition: EdbBrick.cxx:50
TObjArray eLayers
0-base, 1-up, 2-down
Definition: EdbBrick.h:17
~EdbPlateP()
Definition: EdbBrick.h:23
int pid[1000]
Definition: m2track.cpp:13
p
Definition: testBGReduction_AllMethods.C:8