CbmRoot
CbmMuchTest.h
Go to the documentation of this file.
1 /*
2  * CbmMuchTest.h
3  *
4  * Created on: May 2, 2012
5  * Author: kozlov
6  */
7 
8 #ifndef CBMMUCHTEST_H_
9 #define CBMMUCHTEST_H_
10 
11 #include "FairTask.h"
12 
13 //class CbmMuchGeoScheme;
14 //class CbmMuchCluster;
15 //class CbmMuchPad;
16 //class TClonesArray;
17 
18 class CbmMuchTest //: public FairTask
19 {
20 public:
24  CbmMuchTest();
25  CbmMuchTest(Int_t nofPoints, Float_t subStep);
26  //CbmMuchGeoCl(Int_t nStation, Int_t nLayer, Bool_t nSide, Int_t nModule);
27 
28  void SetNPoints(Int_t nofPoints);
29  void SetXIn(Float_t xIn, Int_t iPoint);
30  void SetYIn(Float_t yIn, Int_t iPoint);
31  void SetXOut(Float_t xOut, Int_t iPoint);
32  void SetYOut(Float_t yOut, Int_t iPoint);
33  //void SetNHits(Int_t nofHits);
34  void SetSubStep(Int_t iStep);
35 
36  void SetNClusters(Int_t NCl); // { fNofClusters = NCl; }
37 
38  Int_t GetNPoints() const { return fNofPoints; }
39  Int_t GetNSbCenters() const { return fNofSubCenters; }
40 
41  void RebuildPoints();
42 
43  //---
44  void SetNCl(Int_t nCl, Int_t iCl);
45  void SetXCl(Float_t xCl, Int_t iCl);
46  void SetYCl(Float_t yCl, Int_t iCl);
47  void SetCharge(UInt_t chCl, Int_t iCl);
48  void SetNPads(Int_t nofPads, Int_t iCl);
49  void SetPadInCl(Int_t nPad, Int_t iCl, Int_t iPad);
50  void SetCluster(Int_t nCl,
51  Float_t xCl,
52  Float_t yCl,
53  UInt_t chCl,
54  Int_t nofPads,
55  Int_t iCl);
56 
57  //--
58  void CalculateEfficiency();
59  void CalculateAccuracy();
60  void MainTesting();
61  Float_t GetMeanAccuracy() const {
62  return ((fMeanErrorOnX + fMeanErrorOnY) / 2);
63  }
64  Float_t GetMeanAccuracyForSubCenters() const {
66  }
67  Float_t GetMeanEfficiency() const { return fEfficiency; }
70  }
74  virtual ~CbmMuchTest();
75 
76 private:
77  Int_t fNofPoints;
79  Float_t fSubStep;
80  static const Int_t fMaxSubCentersPerPoint = 10;
81 
82  struct M_Point {
83  Float_t x1, y1, x2, y2, xc, yc;
85  Float_t pLenght;
88  };
90 
91  /*Int_t fNofHits;
92  struct M_Hit{
93  Float_t x, y;
94  //UInt_t charge;
95  };
96  M_Hit* fHits;*/
97 
98  Int_t fNofClusters;
99  struct Cluster {
100  Int_t nofCluster;
101  Float_t xc;
102  Float_t yc;
103  UInt_t sumClCharge;
104  Int_t nofPads;
105  Int_t padsInCluster[30];
106  };
108  Float_t fMeanErrorOnX;
109  Float_t fMeanErrorOnY;
110  Float_t* fErrorsOnX;
111  Float_t* fErrorsOnY;
116 
117  Float_t fEfficiency;
119 
122 };
123 
124 #endif /* CBMMUCHTEST_H_ */
CbmMuchTest::fErrorsOnYforSubCenters
Float_t * fErrorsOnYforSubCenters
Definition: CbmMuchTest.h:115
CbmMuchTest::Cluster::nofCluster
Int_t nofCluster
Definition: CbmMuchTest.h:100
CbmMuchTest::fMeanErrorOnX
Float_t fMeanErrorOnX
Definition: CbmMuchTest.h:108
CbmMuchTest::fClusters
Cluster * fClusters
Definition: CbmMuchTest.h:107
CbmMuchTest::M_Point::y2
Float_t y2
Definition: CbmMuchTest.h:83
CbmMuchTest::M_Point::xSC
Float_t xSC[fMaxSubCentersPerPoint]
Definition: CbmMuchTest.h:86
CbmMuchTest::M_Point::x1
Float_t x1
Definition: CbmMuchTest.h:83
CbmMuchTest::Cluster::sumClCharge
UInt_t sumClCharge
Definition: CbmMuchTest.h:103
CbmMuchTest::fNofClusters
Int_t fNofClusters
Definition: CbmMuchTest.h:98
CbmMuchTest::Cluster::nofPads
Int_t nofPads
Definition: CbmMuchTest.h:104
CbmMuchTest::M_Point
Definition: CbmMuchTest.h:82
CbmMuchTest::fSubStep
Float_t fSubStep
Definition: CbmMuchTest.h:79
CbmMuchTest::GetMeanAccuracy
Float_t GetMeanAccuracy() const
Definition: CbmMuchTest.h:61
CbmMuchTest::fNofSubCenters
Int_t fNofSubCenters
Definition: CbmMuchTest.h:78
CbmMuchTest::Cluster::xc
Float_t xc
Definition: CbmMuchTest.h:101
CbmMuchTest::SetNPads
void SetNPads(Int_t nofPads, Int_t iCl)
Definition: CbmMuchTest.cxx:198
CbmMuchTest::fErrorsOnXforSubCenters
Float_t * fErrorsOnXforSubCenters
Definition: CbmMuchTest.h:114
CbmMuchTest::fErrorsOnY
Float_t * fErrorsOnY
Definition: CbmMuchTest.h:111
CbmMuchTest::~CbmMuchTest
virtual ~CbmMuchTest()
Destructor.
Definition: CbmMuchTest.cxx:72
CbmMuchTest::fEfficiency
Float_t fEfficiency
Definition: CbmMuchTest.h:117
CbmMuchTest::fRealPoints
M_Point * fRealPoints
Definition: CbmMuchTest.h:89
CbmMuchTest::SetYIn
void SetYIn(Float_t yIn, Int_t iPoint)
Definition: CbmMuchTest.cxx:131
CbmMuchTest::fMeanErrorOnY
Float_t fMeanErrorOnY
Definition: CbmMuchTest.h:109
CbmMuchTest::M_Point::xc
Float_t xc
Definition: CbmMuchTest.h:83
CbmMuchTest::SetXIn
void SetXIn(Float_t xIn, Int_t iPoint)
Definition: CbmMuchTest.cxx:121
CbmMuchTest::CalculateAccuracy
void CalculateAccuracy()
Definition: CbmMuchTest.cxx:237
CbmMuchTest::M_Point::pLenght
Float_t pLenght
Definition: CbmMuchTest.h:85
CbmMuchTest::fNofPoints
Int_t fNofPoints
Definition: CbmMuchTest.h:77
CbmMuchTest::MainTesting
void MainTesting()
Definition: CbmMuchTest.cxx:294
CbmMuchTest::fMeanErrorOnXforSubCenters
Float_t fMeanErrorOnXforSubCenters
Definition: CbmMuchTest.h:112
CbmMuchTest::fEfficiencyForSubCenters
Float_t fEfficiencyForSubCenters
Definition: CbmMuchTest.h:118
CbmMuchTest::GetNPoints
Int_t GetNPoints() const
Definition: CbmMuchTest.h:38
CbmMuchTest::SetCharge
void SetCharge(UInt_t chCl, Int_t iCl)
Definition: CbmMuchTest.cxx:191
CbmMuchTest::SetNClusters
void SetNClusters(Int_t NCl)
Definition: CbmMuchTest.cxx:160
CbmMuchTest::fMaxSubCentersPerPoint
static const Int_t fMaxSubCentersPerPoint
Definition: CbmMuchTest.h:80
CbmMuchTest::GetMeanEfficiency
Float_t GetMeanEfficiency() const
Definition: CbmMuchTest.h:67
CbmMuchTest
Definition: CbmMuchTest.h:19
CbmMuchTest::M_Point::y1
Float_t y1
Definition: CbmMuchTest.h:83
CbmMuchTest::Cluster::padsInCluster
Int_t padsInCluster[30]
Definition: CbmMuchTest.h:105
CbmMuchTest::SetPadInCl
void SetPadInCl(Int_t nPad, Int_t iCl, Int_t iPad)
Definition: CbmMuchTest.cxx:205
CbmMuchTest::SetYCl
void SetYCl(Float_t yCl, Int_t iCl)
Definition: CbmMuchTest.cxx:184
CbmMuchTest::RebuildPoints
void RebuildPoints()
Definition: CbmMuchTest.cxx:74
CbmMuchTest::SetNPoints
void SetNPoints(Int_t nofPoints)
Definition: CbmMuchTest.cxx:112
CbmMuchTest::SetYOut
void SetYOut(Float_t yOut, Int_t iPoint)
Definition: CbmMuchTest.cxx:149
CbmMuchTest::M_Point::yc
Float_t yc
Definition: CbmMuchTest.h:83
CbmMuchTest::Cluster
Definition: CbmMuchTest.h:99
CbmMuchTest::operator=
CbmMuchTest & operator=(const CbmMuchTest &)
CbmMuchTest::SetXCl
void SetXCl(Float_t xCl, Int_t iCl)
Definition: CbmMuchTest.cxx:177
CbmMuchTest::Cluster::yc
Float_t yc
Definition: CbmMuchTest.h:102
CbmMuchTest::GetNSbCenters
Int_t GetNSbCenters() const
Definition: CbmMuchTest.h:39
CbmMuchTest::fErrorsOnX
Float_t * fErrorsOnX
Definition: CbmMuchTest.h:110
CbmMuchTest::SetSubStep
void SetSubStep(Int_t iStep)
Definition: CbmMuchTest.cxx:158
CbmMuchTest::CbmMuchTest
CbmMuchTest(const CbmMuchTest &)
CbmMuchTest::M_Point::nofSubCenters
Int_t nofSubCenters
Definition: CbmMuchTest.h:84
CbmMuchTest::M_Point::ySC
Float_t ySC[fMaxSubCentersPerPoint]
Definition: CbmMuchTest.h:87
CbmMuchTest::M_Point::x2
Float_t x2
Definition: CbmMuchTest.h:83
CbmMuchTest::SetCluster
void SetCluster(Int_t nCl, Float_t xCl, Float_t yCl, UInt_t chCl, Int_t nofPads, Int_t iCl)
Definition: CbmMuchTest.cxx:212
CbmMuchTest::GetMeanAccuracyForSubCenters
Float_t GetMeanAccuracyForSubCenters() const
Definition: CbmMuchTest.h:64
CbmMuchTest::CalculateEfficiency
void CalculateEfficiency()
Definition: CbmMuchTest.cxx:229
CbmMuchTest::CbmMuchTest
CbmMuchTest()
Constructor.
Definition: CbmMuchTest.cxx:33
CbmMuchTest::SetNCl
void SetNCl(Int_t nCl, Int_t iCl)
Definition: CbmMuchTest.cxx:170
CbmMuchTest::GetMeanEfficiencyForSubCenters
Float_t GetMeanEfficiencyForSubCenters() const
Definition: CbmMuchTest.h:68
CbmMuchTest::fMeanErrorOnYforSubCenters
Float_t fMeanErrorOnYforSubCenters
Definition: CbmMuchTest.h:113
CbmMuchTest::SetXOut
void SetXOut(Float_t xOut, Int_t iPoint)
Definition: CbmMuchTest.cxx:140