HYDRA_development_version
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
hmdclayer.h
Go to the documentation of this file.
1 #ifndef HMDCLAYER_H
2 #define HMDCLAYER_H
3 
4 #include "hgeomvector.h"
5 #include "hmdcgeomobj.h"
6 #include "TVector2.h"
7 
8 class HMdcSizesCells;
9 
10 class HMdcLayer : public TObject {
11 
12 
13 private:
14 
15  //-------------------------------------------------------------------------
16  // boundary of MDC layers
17  TVector2 layerP [6][4][6][4]; // 4 corner points for each layer (layer sys)
18  TVector2 layerPcrop[6][4][6][4]; // 4 corner points for each croped layer (layer sys)
19  Double_t xcrop[4][2]; // module wise x at lower and upper edge (symmetric)
20  Double_t ycrop[4][2]; // module wise y low and up
21  //-------------------------------------------------------------------------
22 
23 
24  //-------------------------------------------------------------------------
25  // RK seglane for pathlength recalulation
27  HMdcPlane plMdc[6]; // lab sys
28  //-------------------------------------------------------------------------
29 public:
30 
31  HMdcLayer();
32 
33  //-------------------------------------------------------------------------
34  // croped Layer stuff
35  void setMDCCrop (Int_t m,Double_t xlowcrop,Double_t xupcrop,Double_t ylowcrop,Double_t yupcrop);
36  void fillLayerPoints (HMdcSizesCells* fSizesCells, Bool_t secsys=kFALSE);
37  void calcCropedLayer (Int_t s,Int_t m,Int_t l);
38 
39 
40  Bool_t getLayersEdge (TVector2& p,Int_t s,Int_t m,Int_t l,
41  Double_t& xmin ,Double_t& xmax,Double_t& ymin,Double_t& ymax,
42  Double_t& xmincrop ,Double_t& xmaxcrop,Double_t& ymincrop,Double_t& ymaxcrop);
43  Bool_t getLayersEdge (TVector2& p,Int_t s,Int_t m,Int_t l,
44  Double_t& xmin ,Double_t& xmax,Double_t& ymin,Double_t& ymax);
45  Bool_t getCropedLayersEdge(TVector2& p,Int_t s,Int_t m,Int_t l,
46  Double_t& xmin ,Double_t& xmax,Double_t& ymin,Double_t& ymax);
47  Bool_t isCroped (TVector2& p,Int_t s,Int_t m,Int_t l);
48 
49  void getLayerPoints (Int_t s,Int_t m,Int_t l, TVector2& p0,TVector2& p1,TVector2& p2,TVector2& p3);
50  void getCropedLayerPoints(Int_t s,Int_t m,Int_t l, TVector2& p0,TVector2& p1,TVector2& p2,TVector2& p3);
51  void printLayer (Int_t s,Int_t m,Int_t l);
52  void printCropedLayer (Int_t s,Int_t m,Int_t l);
53  //-------------------------------------------------------------------------
54 
55  //-------------------------------------------------------------------------
56  // RK stuff
57  void fillRKPlane (HMdcSizesCells* fSizesCells);
59  const HMdcPlane& getMdcPlane(Int_t s){ return plMdc[s]; }
60  const HMdcPlane* getMdcPlanes() { return &plMdc[0];}
61  //-------------------------------------------------------------------------
62 
63  ClassDef(HMdcLayer,1)
64 
65 };
66 
67 #endif
68 
const HMdcPlane & getMdcPlane(Int_t s)
Definition: hmdclayer.h:59
HGeomVector targetMidPoint
Definition: hmdclayer.h:26
void fillLayerPoints(HMdcSizesCells *fSizesCells, Bool_t secsys=kFALSE)
Definition: hmdclayer.cc:302
Bool_t getLayersEdge(TVector2 &p, Int_t s, Int_t m, Int_t l, Double_t &xmin, Double_t &xmax, Double_t &ymin, Double_t &ymax, Double_t &xmincrop, Double_t &xmaxcrop, Double_t &ymincrop, Double_t &ymaxcrop)
Definition: hmdclayer.cc:65
void printCropedLayer(Int_t s, Int_t m, Int_t l)
Definition: hmdclayer.cc:394
TGraph p2(xdim, pgrid, respme)
void printLayer(Int_t s, Int_t m, Int_t l)
Definition: hmdclayer.cc:384
Double_t ycrop[4][2]
Definition: hmdclayer.h:20
Double_t xcrop[4][2]
Definition: hmdclayer.h:19
Bool_t getCropedLayersEdge(TVector2 &p, Int_t s, Int_t m, Int_t l, Double_t &xmin, Double_t &xmax, Double_t &ymin, Double_t &ymax)
Definition: hmdclayer.cc:184
Float_t p0
Definition: drawAccCuts.C:7
const HGeomVector & getTargetMidPoint()
Definition: hmdclayer.h:58
void calcCropedLayer(Int_t s, Int_t m, Int_t l)
Definition: hmdclayer.cc:355
void fillRKPlane(HMdcSizesCells *fSizesCells)
Definition: hmdclayer.cc:278
TVector2 layerP[6][4][6][4]
Definition: hmdclayer.h:17
void getCropedLayerPoints(Int_t s, Int_t m, Int_t l, TVector2 &p0, TVector2 &p1, TVector2 &p2, TVector2 &p3)
Definition: hmdclayer.cc:57
HMdcPlane plMdc[6]
Definition: hmdclayer.h:27
TGraph p1(xdim, pgrid, resplo)
void getLayerPoints(Int_t s, Int_t m, Int_t l, TVector2 &p0, TVector2 &p1, TVector2 &p2, TVector2 &p3)
Definition: hmdclayer.cc:50
const HMdcPlane * getMdcPlanes()
Definition: hmdclayer.h:60
Bool_t isCroped(TVector2 &p, Int_t s, Int_t m, Int_t l)
Definition: hmdclayer.cc:232
void setMDCCrop(Int_t m, Double_t xlowcrop, Double_t xupcrop, Double_t ylowcrop, Double_t yupcrop)
Definition: hmdclayer.cc:42
TVector2 layerPcrop[6][4][6][4]
Definition: hmdclayer.h:18
TGraph p3(xdim, pgrid, resphi)