StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSstPointMaker.h
1 //$Id: StSstPointMaker.h,v 1.2 2015/07/20 19:56:37 bouchet Exp $
2 //
3 //$Log: StSstPointMaker.h,v $
4 //Revision 1.2 2015/07/20 19:56:37 bouchet
5 //inserted blanks to make C++11 happy
6 //
7 //Revision 1.1 2015/06/23 16:29:04 jeromel
8 //Version of the SSD code for the SST - strated revision 1
9 //
10 //Revision 1.6 2015/06/18 22:29:29 bouchet
11 //CPP-CHECK : C-style coding ; cleanup : removed unused libraries and variables ; init ctor ; replace ROOT types by C++ types
12 //
13 //Revision 1.5 2015/04/28 15:59:56 bouchet
14 //remove old methods, update ctor, update methods to fill gain calib and wafer status, cleanup
15 //
16 //Revision 1.4 2015/04/27 14:07:38 bouchet
17 //remove mode member from sstStripCalib (was first version) ; cleanup
18 //
19 //Revision 1.3 2015/04/26 17:56:36 bouchet
20 //ChipGain calibration methods removed ; cleanup
21 //
22 //Revision 1.2 2015/04/21 22:05:48 bouchet
23 //prototype methods to use sstGainCalibChip, remove unused arrays, typos ssd -> sst, print the # of events processed by the maker
24 //
25 //Revision 1.1 2015/04/19 18:52:10 bouchet
26 //initial commit ; SST classes only
27 //
28 //fork from the SSD code, move along - see history therein
29 /*
30  * Cluster finder and matching for the Silicon Strip Detectors
31  *
32  * This maker controls now both the cluster reconstruction
33  * and the space-point reconstruction. The St_scf_Maker and
34  * the St_scm_Maker have been merged as well as the classes
35  * inside. However the different steps are still the same and
36  * described below.
37  *
38  * 1) the cluster reconstruction in the SSD :
39  * - fired strips are read from a table and associated with
40  * neighbouring ones to form clusters.
41  * - cluster splitting is also done at this stage if a local
42  * minimum is found inside the cluster.
43  * - cluster finding is performs independantly on each side
44  * of a single detector.
45  * - see documentation at http://star.in2p3.fr/STAR_informatique/hit_reconstruction.html#scf
46  *
47  * 2) the space-point reconstruction in the SSD :
48  * - clusters from each side of a single silicon strip detector
49  * are associated in different packages types.
50  * - solving the cluster package give one or several solutions
51  * for the hits positions in the silicon strip detector.
52  * - see documentation at http://star.in2p3.fr/STAR_informatique/hit_reconstruction.html#scm
53  */
54 #ifndef STAR_StSstPointMaker
55 #define STAR_StSstPointMaker
56 #include "Riostream.h"
57 #ifndef StMaker_H
58 #include "StMaker.h"
59 #endif
60 #include "StSstUtil/StSstDynamicControl.h"
61 #include "StSstUtil/StSstClusterControl.h"
62 
63 class St_sstNoise;
64 class StSstHitCollection;
65 class StSstBarrel;
66 class StSstLadder;
67 class StSstWafer;
68 class StSstStrip;
69 class StSstStripList;
70 class StSstPoint;
71 class StSstPointList;
72 class StSstCluster;
73 class StSstClusterList;
74 class StSstPackage;
75 class StSstPackageList;
76 class sstSlsCtrl_st;
77 class sstClusterControl_st;
78 class sstStripCalib_st;
79 class sstGainCalibWafer_st;
80 class sstWaferConfiguration_st;
81 class StSstPointMaker : public StMaker {
82  public:
83  StSstPointMaker(const char *name="SstPoint");
84  virtual ~StSstPointMaker() {}
85  virtual Int_t Init();
86  virtual Int_t InitRun(int runumber);
87  virtual Int_t Make();
88  virtual Int_t Finish();
89  virtual void PrintInfo();
90  private:
91  void debugUnPeu(StSstBarrel *mySst);
92  void PrintStripSummary(StSstBarrel *mySst);
93  void PrintClusterSummary(StSstBarrel *mySst);
94  void PrintPointSummary(StSstBarrel *mySst);
95  void PrintStripDetails(StSstBarrel *mySst, int mywafer);
96  void PrintClusterDetails(StSstBarrel *mySst, int mywafer);
97  void PrintPointDetails(StSstBarrel *mySst, int mywafer);
98  void PrintPackageDetails(StSstBarrel *mySst, int mywafer);
99  void FillCalibTable();
100  void FillWaferTable();
101  void FillDefaultCalibTable();
102  void FillDefaultWaferTable();
103  void FillDefaultChipNoiseTable();
104  int ReadNoiseTable(StSstBarrel *mySst);
105  private:
106  sstGainCalibWafer_st *mGain;
107  sstWaferConfiguration_st *mWafConfig;
108  sstStripCalib_st *mPedRmsData;
109  sstSlsCtrl_st *mCtrl;
110  sstClusterControl_st *mClusterCtrl;
111  StSstDynamicControl *mDynamicControl;
112  StSstClusterControl *mClusterControl;
113  float mCalibArray[320];
114  int mWaferStatus[20][16];
115  int mEventCounter;
116  virtual const char *GetCVS() const
117  {static const char cvs[]="Tag $Name: $ $Id: StSstPointMaker.h,v 1.2 2015/07/20 19:56:37 bouchet Exp $ built " __DATE__ " " __TIME__ ; return cvs;}
118 
119  ClassDef(StSstPointMaker, 1) //StAF chain virtual base class for Makers
120  };
121 #endif
virtual Int_t Make()
virtual Int_t Finish()