ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
S800Calc.h
Go to the documentation of this file.
1 #ifndef __S800CALC_HH
2 #define __S800CALC_HH
3 
4 #include <Rtypes.h>
5 #include <TNamed.h>
6 #include <TObject.h>
7 
8 #include <algorithm>
9 #include <cmath>
10 #include <iostream>
11 #include <vector>
12 
13 class TBuffer;
14 class TClass;
15 class TMemberInspector;
16 
17 using namespace std;
18 class S800;
19 class S800Calibration;
20 
21 class CRDC : public TObject {
22 public:
23  CRDC()
24  {
25  fid = -1;
26  fx = sqrt(-1.0);
27  fy = sqrt(-1.0);
28  fx_cog = sqrt(-1.0);
29  fx_fit = sqrt(-1.0);
30  ftac = sqrt(-1.0);
31  fanode = sqrt(-1.0);
32  fcathode = sqrt(-1.0);
33  fcal.clear();
34  fchan.clear();
35  fxpad.clear();
36  fypad.clear();
37  fmaxpad = -1;
38  fmaxchg = sqrt(-1.0);
39  ffitprm.resize(3);
40  }
41  ~CRDC() = default;
42 
43  void Clear(Option_t * /*option*/ = "")
44  { // modified to suppress warnings
45  fid = -1;
46  fx = sqrt(-1.0);
47  fy = sqrt(-1.0);
48  fx_cog = sqrt(-1.0);
49  fx_fit = sqrt(-1.0);
50  ftac = sqrt(-1.0);
51  fanode = sqrt(-1.0);
52  fcathode = sqrt(-1.0);
53  fcal.clear();
54  fchan.clear();
55  fxpad.clear();
56  fypad.clear();
57  fmaxpad = -1;
58  fmaxchg = sqrt(-1.0);
59  ffitprm.resize(3);
60  }
61  void SetCal(const std::vector<Float_t> &cal)
62  {
63  fcal = cal;
64 
65  // for(UShort_t i=0;i<cal.size();i++){
66  // if(!std::isnan(cal[i])){
67  // fcal.push_back(cal[i]);
68  // fchan.push_back(i);
69  // }
70  // }
71  }
72  void SetXpad(Double_t xpad[300], Int_t j)
73  {
74  for (Int_t i = 0; i < j; i++) {
75  fxpad.push_back((Int_t)xpad[i]);
76  }
77  }
78  void SetYpad(Double_t ypad[300], Int_t j)
79  {
80  for (Int_t i = 0; i < j; i++) {
81  fypad.push_back((Float_t)ypad[i]);
82  }
83  }
84 
85  void SetPedSubtractedPads(vector<Float_t> v) { fPedSubtractedPads = v; }
86  void SetID(int id) { fid = id; }
87  void SetX(Float_t x) { fx = x; }
88  void SetY(Float_t y) { fy = y; }
89  void SetXcog(Float_t x_cog) { fx_cog = x_cog; }
90  void SetXfit(Float_t x_fit) { fx_fit = x_fit; }
91  void SetTAC(float tac) { ftac = tac; }
92  void SetAnode(float anode) { fanode = anode; }
93  void SetCathode(float cathode) { fcathode = cathode; }
94  void SetMaxPad(Short_t maxpad) { fmaxpad = maxpad; }
95  void SetMaxChg(Float_t maxchg) { fmaxchg = maxchg; }
96  void SetFitPrm(Short_t i, Float_t prm) { ffitprm[i] = prm; }
97  void SetFnorm(Float_t fnorm) { ffnorm = fnorm; }
98  void SetNumClusters(Int_t n) { fNumClusters = n; }
99  void SetMaxClusterWidth(Float_t w) { fMaxClusterWidth = w; }
100 
101  Int_t GetNumClusters() { return fNumClusters; }
102  Float_t GetMaxClusterWidth() { return fMaxClusterWidth; }
103 
104  Int_t GetID() { return fid; }
105  Float_t GetX() { return fx; }
106  Float_t GetY() { return fy; }
107  Float_t GetXcog() { return fx_cog; }
108  Float_t GetXfit() { return fx_fit; }
109  Float_t GetTAC() { return ftac; }
110  Float_t GetAnode() { return fanode; }
111  Float_t GetCathode() { return fcathode; }
112  std::vector<Float_t> GetCal() { return fcal; }
113  std::vector<Int_t> GetChan() { return fchan; }
114  Short_t GetMaxPad() { return fmaxpad; }
115  Float_t GetMaxChg() { return fmaxchg; }
116  std::vector<Float_t> GetFitPrm() { return ffitprm; }
117  Float_t GetFnorm() { return ffnorm; }
118  std::vector<Int_t> GetXpad() { return fxpad; }
119  std::vector<Float_t> GetYpad() { return fypad; }
120 
121  std::vector<Float_t> &GetPedSubtractedPads() { return fPedSubtractedPads; }
122 
123 protected:
124  Int_t fid;
125  Float_t fx;
126  Float_t fy;
127  Float_t fx_cog;
128  Float_t fx_fit;
129  Float_t ftac;
130  Float_t fanode;
131  Float_t fcathode;
132  std::vector<Float_t> fcal;
133  std::vector<Float_t> fPedSubtractedPads;
134  std::vector<Int_t> fchan;
135  std::vector<Float_t> fypad;
136  std::vector<Int_t> fxpad;
137  Short_t fmaxpad;
138  Float_t fmaxchg;
139  std::vector<Float_t> ffitprm;
140  Float_t ffnorm;
144 };
145 
146 // Time of flight of the beam/beam-like particle
147 class TOF : public TObject {
148 public:
149  TOF()
150  {
151  frf = sqrt(-1.0);
152  fobj = sqrt(-1.0);
153  fxfp = sqrt(-1.0);
154  frfc = sqrt(-1.0);
155  ftac_obj = sqrt(-1.0);
156  ftac_xfp = sqrt(-1.0);
157  }
158  ~TOF() = default;
159  void Clear(Option_t * /*option*/ = "")
160  { // modified to suppress warnings
161  // void Clear(){
162  frf = sqrt(-1.0);
163  fobj = sqrt(-1.0);
164  fxfp = sqrt(-1.0);
165  frfc = sqrt(-1.0);
166  ftac_obj = sqrt(-1.0);
167  ftac_xfp = sqrt(-1.0);
168  }
169  void Set(Float_t rf, Float_t obj, Float_t xfp)
170  {
171  frf = rf;
172  fobj = obj;
173  fxfp = xfp;
174  }
175  void SetTAC(Float_t obj, Float_t xfp)
176  {
177  ftac_obj = obj;
178  ftac_xfp = xfp;
179  }
180  Float_t GetRF() { return frf; }
181  Float_t GetOBJ() { return fobj; }
182  Float_t GetXFP() { return fxfp; }
183  Float_t GetTACOBJ() { return ftac_obj; }
184  Float_t GetTACXFP() { return ftac_xfp; }
185 
186 protected:
187  Float_t frf;
188  Float_t fobj;
189  Float_t fxfp;
190  Float_t frfc;
191  Float_t ftac_obj;
192  Float_t ftac_xfp;
193 
195 };
196 
197 class MultiHitTOF : public TObject {
198 public:
199  MultiHitTOF() { Clear(); }
200  ~MultiHitTOF() { Clear(); }
201 
202  void Clear()
203  {
204  fE1Up.clear();
205  fE1Down.clear();
206  fXf.clear();
207  fObj.clear();
208  fGalotte.clear();
209  fRf.clear();
210  fHodoscope.clear();
211  }
212 
213  Float_t GetFirstE1UpHit()
214  {
215  if (fE1Up.size() != 0) {
216  return fE1Up[0];
217  } else {
218  return sqrt(-1.0);
219  }
220  }
221 
223  {
224  if (fE1Down.size() != 0) {
225  return fE1Down[0];
226  } else {
227  return sqrt(-1.0);
228  }
229  }
230  Float_t GetFirstXfHit()
231  {
232  if (fXf.size() != 0) {
233  return fXf[0];
234  } else {
235  return sqrt(-1.0);
236  }
237  }
238 
239  Float_t GetFirstObjHit()
240  {
241  if (fObj.size() != 0) {
242  return fObj[0];
243  } else {
244  return sqrt(-1.0);
245  }
246  }
247 
248  Float_t GetFirstRfHit()
249  {
250  if (fRf.size() != 0) {
251  return fRf[0];
252  } else {
253  return sqrt(-1.0);
254  }
255  }
256 
258  {
259  if (fHodoscope.size() != 0) {
260  return fHodoscope[0];
261  } else {
262  return sqrt(-1.0);
263  }
264  }
265 
266  vector<Float_t> GetMTDCXf() { return fXf; }
267 
268  vector<Float_t> GetMTDCObj() { return fObj; }
269 
270  vector<Float_t> fE1Up;
271  vector<Float_t> fE1Down;
272  vector<Float_t> fXf;
273  vector<Float_t> fObj;
274  vector<Float_t> fGalotte;
275  vector<Float_t> fRf;
276  vector<Float_t> fHodoscope;
277 
279 };
280 
281 // Scintillator fp trigger scint e1/e2/e3
282 class SCINT : public TObject {
283 public:
285  {
286  ftime = 0.0;
287  fde = 0.0;
288  fdeup = 0.0;
289  fdedown = 0.0;
290  }
291  ~SCINT() { Clear(); };
292  void Clear(Option_t * /*option*/ = "")
293  { // modified to suppress warnings
294  ftime = 0.0;
295  fde = 0.0;
296  fdeup = 0.0;
297  fdedown = 0.0;
298  }
299  void Set(Float_t time, Float_t de)
300  {
301  ftime = time;
302  fde = de;
303  }
304  void SetTime(Float_t tup, Float_t tdown)
305  {
306  ftimeup = tup;
307  ftimedown = tdown;
308  ftime = (tup + tdown) / 2.;
309  }
310  void SetDE(Float_t de_up, Float_t de_down)
311  {
312  fdeup = de_up;
313  fdedown = de_down;
314  fde = sqrt(de_up * de_down);
315  }
316  Float_t GetTime() { return ftime; }
317  Float_t GetTimeup() { return ftimeup; }
318  Float_t GetTimedown() { return ftimedown; }
319  Float_t GetDE() { return fde; }
320  Float_t GetDEup() { return fdeup; }
321  Float_t GetDEdown() { return fdedown; }
322 
323 protected:
324  Float_t ftime;
325  Float_t ftimeup;
326  Float_t ftimedown;
327  Float_t fde;
328  Float_t fdeup;
329  Float_t fdedown;
331 };
332 
333 class HODOSCOPE : public TObject {
334 public:
335  HODOSCOPE() { fenergy = 0.0; }
336  ~HODOSCOPE() { Clear(); }
337  void Clear(Option_t * /*option*/ = "")
338  { // modified to suppress warnings
339  fenergy = 0.0;
340  }
341  void SetEnergy(Float_t energy) { fenergy = energy; }
342  Float_t GetEnergy() { return fenergy; }
343 
344 protected:
345  Float_t fenergy;
347 };
348 
349 // IONCHAMBER
350 class IC : public TObject {
351 public:
352  IC()
353  {
354  fcal.clear();
355  fchan.clear();
356  fsum = sqrt(-1.0);
357  fde = sqrt(-1.0);
358  }
359  ~IC() { Clear(); };
360  void Clear(Option_t * /*option*/ = "")
361  { // modified to suppress warnings
362  fcal.clear();
363  fchan.clear();
364  fsum = sqrt(-1.0);
365  fde = sqrt(-1.0);
366  }
367  void SetCal(std::vector<Float_t> cal)
368  {
369  fcal.clear();
370  fchan.clear();
371  for (UShort_t i = 0; i < cal.size(); i++) {
372  if (!isnan(cal[i]) && cal[i] > 0.0) {
373  fcal.push_back(cal[i]);
374  fchan.push_back(i);
375  }
376  }
377  }
378  void SetSum(Float_t sum) { fsum = sum; }
379  void SetDE(Float_t de) { fde = de; }
380  Float_t GetSum() { return fsum; }
381  Float_t GetDE() { return fde; }
382 
383  std::vector<Float_t> GetCal() { return fcal; }
384  std::vector<Int_t> GetChan() { return fchan; }
385 
386 protected:
387  std::vector<Float_t> fcal;
388  std::vector<Int_t> fchan;
389  // std::vector<Float_t> fcal; //! transient data member
390  // std::vector<Int_t> fchan; //! transient data member
391  Float_t fsum;
392  Float_t fde;
394 };
395 
399 class Trigger : public TObject {
400 public:
402  {
403  fregistr = 0;
404  fs800 = 0;
405  fexternal1 = 0;
406  fexternal2 = 0;
407  fsecondary = 0;
408  }
409  ~Trigger() { Clear(); };
410  void Clear()
411  {
412  fregistr = 0;
413  fs800 = 0;
414  fexternal1 = 0;
415  fexternal2 = 0;
416  fsecondary = 0;
417  }
418  void Set(int registr, int s800, int external1, int external2, int secondary)
419  {
420  fregistr = registr;
421  fs800 = s800;
422  fexternal1 = external1;
423  fexternal2 = external2;
424  fsecondary = secondary;
425  }
426  Short_t GetRegistr() { return fregistr; }
427  Short_t GetS800() { return fs800; }
428  Short_t GetExternal1()
429  {
430  return fexternal1;
431  }
432  Short_t GetExternal2()
433  {
434  return fexternal2;
435  }
436  Short_t GetSecondary()
437  {
438  return fsecondary;
439  }
440 
441 protected:
442  Short_t fregistr;
443  Short_t fs800;
444  Short_t fexternal1;
445  Short_t fexternal2;
446  Short_t fsecondary;
447 
449 };
450 
455 class S800Calc : public TNamed {
456 public:
457  S800Calc() {}
458 
459  void Clear(Option_t * /*option*/ = "")
460  { // modified to suppress warnings
461  ftimes800 = 0;
462  fts = 0;
463  fits = 0;
464  fCRDC[0].Clear();
465  fCRDC[1].Clear();
466  fTOF.Clear();
467  fSCINT[0].Clear();
468  fSCINT[1].Clear();
469  fSCINT[2].Clear();
470  fIC.Clear();
471  fIsInCut = kFALSE;
472  }
473 
474  void ApplyCalibration(S800 *s800, S800Calibration *cal);
475 
476  void SetIsInCut(Bool_t val) { fIsInCut = val; }
477  void SetTimeS800(Float_t time) { ftimes800 = time; }
478  void SetCRDC(CRDC crdc, int id) { fCRDC[id] = crdc; }
479  void SetTOF(TOF tof) { fTOF = tof; }
480  void SetIC(IC ic) { fIC = ic; }
481  void SetSCINT(SCINT scint, int id) { fSCINT[id] = scint; }
482  void SetHODOSCOPE(HODOSCOPE hodoscope, int id) { fHODOSCOPE[id] = hodoscope; }
483 
484  void SetMultiHitTOF(MultiHitTOF f) { fMultiHitTOF = f; }
485  void SetTrigger(Trigger in) { fTrigger = in; }
486 
487  Bool_t GetIsInCut() { return fIsInCut; }
488  Float_t GetTimeS800() { return ftimes800; };
489  CRDC *GetCRDC(int id) { return &fCRDC[id]; }
490  TOF *GetTOF() { return &fTOF; }
491  SCINT *GetSCINT(int id) { return &fSCINT[id]; }
492  HODOSCOPE *GetHODOSCOPE(Int_t id) { return &fHODOSCOPE[id]; }
493  IC *GetIC() { return &fIC; }
494 
495  MultiHitTOF *GetMultiHitTOF() { return &fMultiHitTOF; }
496 
497  Trigger *GetTrigger() { return &fTrigger; }
498 
499  // timestamp
500  void SetTS(long long int ts) { fts = ts; }
501  void SetInternalTS(long long int ts) { fits = ts; }
502  long long int GetTS() { return fts; }
503  long long int GetInternalTS() { return fits; }
504 
505 protected:
506  CRDC fCRDC[2];
509  SCINT fSCINT[3];
510  HODOSCOPE fHODOSCOPE[32];
512 
513  Float_t ftimes800;
514  long long int fts; // timestamp global
515  long long int fits; // timestamp internal
516 
517  Bool_t fIsInCut;
518 
520 
521  ClassDef(S800Calc, 2); // 1
522 };
523 
524 #endif
IC::Clear
void Clear(Option_t *="")
Definition: S800Calc.h:360
CRDC::SetFnorm
void SetFnorm(Float_t fnorm)
Definition: S800Calc.h:97
CRDC::fPedSubtractedPads
std::vector< Float_t > fPedSubtractedPads
Definition: S800Calc.h:133
CRDC::GetX
Float_t GetX()
Definition: S800Calc.h:105
S800Calc::GetIC
IC * GetIC()
Definition: S800Calc.h:493
Trigger::ClassDef
ClassDef(Trigger, 1)
CRDC::fmaxchg
Float_t fmaxchg
Definition: S800Calc.h:138
CRDC::fx_fit
Float_t fx_fit
Definition: S800Calc.h:128
SCINT::GetDE
Float_t GetDE()
Definition: S800Calc.h:319
IC::fsum
Float_t fsum
Definition: S800Calc.h:391
S800Calc::GetHODOSCOPE
HODOSCOPE * GetHODOSCOPE(Int_t id)
Definition: S800Calc.h:492
MultiHitTOF::fXf
vector< Float_t > fXf
Definition: S800Calc.h:272
Trigger::fsecondary
Short_t fsecondary
Definition: S800Calc.h:446
MultiHitTOF::fRf
vector< Float_t > fRf
Definition: S800Calc.h:275
MultiHitTOF::fHodoscope
vector< Float_t > fHodoscope
Definition: S800Calc.h:276
MultiHitTOF
Definition: S800Calc.h:197
IC::IC
IC()
Definition: S800Calc.h:352
TOF
Definition: S800Calc.h:147
MultiHitTOF::fObj
vector< Float_t > fObj
Definition: S800Calc.h:273
CRDC::fxpad
std::vector< Int_t > fxpad
Definition: S800Calc.h:136
TOF::GetXFP
Float_t GetXFP()
Definition: S800Calc.h:182
IC::SetCal
void SetCal(std::vector< Float_t > cal)
Definition: S800Calc.h:367
IC::fde
Float_t fde
Definition: S800Calc.h:392
SCINT::fde
Float_t fde
Definition: S800Calc.h:327
CRDC::SetY
void SetY(Float_t y)
Definition: S800Calc.h:88
Trigger::GetExternal1
Short_t GetExternal1()
Gets the time difference between the master TDC start and the External1 signal.
Definition: S800Calc.h:428
S800Calc
Definition: S800Calc.h:455
HODOSCOPE::fenergy
Float_t fenergy
Definition: S800Calc.h:345
f
double(* f)(double t, const double *par)
Definition: lmcurve.cxx:21
S800Calc::fTrigger
Trigger fTrigger
Definition: S800Calc.h:511
Trigger::fexternal2
Short_t fexternal2
Definition: S800Calc.h:445
HODOSCOPE::~HODOSCOPE
~HODOSCOPE()
Definition: S800Calc.h:336
SCINT::SCINT
SCINT()
Definition: S800Calc.h:284
S800Calc::GetIsInCut
Bool_t GetIsInCut()
Definition: S800Calc.h:487
CRDC::SetCal
void SetCal(const std::vector< Float_t > &cal)
Definition: S800Calc.h:61
CRDC::GetFnorm
Float_t GetFnorm()
Definition: S800Calc.h:117
CRDC::GetFitPrm
std::vector< Float_t > GetFitPrm()
Definition: S800Calc.h:116
SCINT::~SCINT
~SCINT()
Definition: S800Calc.h:291
IC::fcal
std::vector< Float_t > fcal
Definition: S800Calc.h:387
MultiHitTOF::MultiHitTOF
MultiHitTOF()
Definition: S800Calc.h:199
CRDC::SetYpad
void SetYpad(Double_t ypad[300], Int_t j)
Definition: S800Calc.h:78
MultiHitTOF::GetMTDCXf
vector< Float_t > GetMTDCXf()
Definition: S800Calc.h:266
CRDC::SetXcog
void SetXcog(Float_t x_cog)
Definition: S800Calc.h:89
TOF::TOF
TOF()
Definition: S800Calc.h:149
CRDC::SetID
void SetID(int id)
Definition: S800Calc.h:86
SCINT::SetTime
void SetTime(Float_t tup, Float_t tdown)
Definition: S800Calc.h:304
CRDC::GetChan
std::vector< Int_t > GetChan()
Definition: S800Calc.h:113
Trigger::~Trigger
~Trigger()
Definition: S800Calc.h:409
IC::GetChan
std::vector< Int_t > GetChan()
Definition: S800Calc.h:384
CRDC::fypad
std::vector< Float_t > fypad
Definition: S800Calc.h:135
IC::SetDE
void SetDE(Float_t de)
Definition: S800Calc.h:379
CRDC::GetCal
std::vector< Float_t > GetCal()
Definition: S800Calc.h:112
CRDC::GetXfit
Float_t GetXfit()
Definition: S800Calc.h:108
HODOSCOPE::Clear
void Clear(Option_t *="")
Definition: S800Calc.h:337
CRDC::fcathode
Float_t fcathode
Definition: S800Calc.h:131
CRDC::GetID
Int_t GetID()
Definition: S800Calc.h:104
S800Calc::GetMultiHitTOF
MultiHitTOF * GetMultiHitTOF()
Definition: S800Calc.h:495
SCINT::ftimeup
Float_t ftimeup
Definition: S800Calc.h:325
Trigger::Set
void Set(int registr, int s800, int external1, int external2, int secondary)
Definition: S800Calc.h:418
S800Calc::GetTrigger
Trigger * GetTrigger()
Definition: S800Calc.h:497
IC::GetDE
Float_t GetDE()
Definition: S800Calc.h:381
S800Calc::SetTimeS800
void SetTimeS800(Float_t time)
Definition: S800Calc.h:477
CRDC::fNumClusters
Int_t fNumClusters
Definition: S800Calc.h:141
CRDC::fy
Float_t fy
Definition: S800Calc.h:126
CRDC::SetXpad
void SetXpad(Double_t xpad[300], Int_t j)
Definition: S800Calc.h:72
HODOSCOPE::SetEnergy
void SetEnergy(Float_t energy)
Definition: S800Calc.h:341
S800Calc::GetSCINT
SCINT * GetSCINT(int id)
Definition: S800Calc.h:491
MultiHitTOF::fGalotte
vector< Float_t > fGalotte
Definition: S800Calc.h:274
HODOSCOPE::ClassDef
ClassDef(HODOSCOPE, 1)
CRDC::fx_cog
Float_t fx_cog
Definition: S800Calc.h:127
TOF::Clear
void Clear(Option_t *="")
Definition: S800Calc.h:159
S800Calc::SetSCINT
void SetSCINT(SCINT scint, int id)
Definition: S800Calc.h:481
TOF::frf
Float_t frf
Definition: S800Calc.h:187
S800Calc::SetTS
void SetTS(long long int ts)
Definition: S800Calc.h:500
CRDC::GetYpad
std::vector< Float_t > GetYpad()
Definition: S800Calc.h:119
S800Calc::SetIC
void SetIC(IC ic)
Definition: S800Calc.h:480
CRDC
Definition: S800Calc.h:21
CRDC::GetCathode
Float_t GetCathode()
Definition: S800Calc.h:111
CRDC::SetX
void SetX(Float_t x)
Definition: S800Calc.h:87
TOF::ftac_xfp
Float_t ftac_xfp
Definition: S800Calc.h:192
TOF::frfc
Float_t frfc
Definition: S800Calc.h:190
S800Calc::GetTOF
TOF * GetTOF()
Definition: S800Calc.h:490
S800Calc::fMultiHitTOF
MultiHitTOF fMultiHitTOF
Definition: S800Calc.h:519
MultiHitTOF::GetFirstHodoscopeHit
Float_t GetFirstHodoscopeHit()
Definition: S800Calc.h:257
IC::ClassDef
ClassDef(IC, 1)
CRDC::SetPedSubtractedPads
void SetPedSubtractedPads(vector< Float_t > v)
Definition: S800Calc.h:85
HODOSCOPE::GetEnergy
Float_t GetEnergy()
Definition: S800Calc.h:342
TOF::GetOBJ
Float_t GetOBJ()
Definition: S800Calc.h:181
S800Calc::fits
long long int fits
Definition: S800Calc.h:515
SCINT::fdedown
Float_t fdedown
Definition: S800Calc.h:329
SCINT::GetDEdown
Float_t GetDEdown()
Definition: S800Calc.h:321
SCINT
Definition: S800Calc.h:282
S800Calibration
Definition: S800Calibration.h:22
S800
Definition: S800.h:338
CRDC::SetXfit
void SetXfit(Float_t x_fit)
Definition: S800Calc.h:90
SCINT::Set
void Set(Float_t time, Float_t de)
Definition: S800Calc.h:299
CRDC::fid
Int_t fid
Definition: S800Calc.h:124
S800Calc::Clear
void Clear(Option_t *="")
Definition: S800Calc.h:459
CRDC::fanode
Float_t fanode
Definition: S800Calc.h:130
S800Calc::fIsInCut
Bool_t fIsInCut
Definition: S800Calc.h:517
CRDC::GetTAC
Float_t GetTAC()
Definition: S800Calc.h:109
y
const double * y
Definition: lmcurve.cxx:20
CRDC::GetAnode
Float_t GetAnode()
Definition: S800Calc.h:110
SCINT::fdeup
Float_t fdeup
Definition: S800Calc.h:328
MultiHitTOF::GetMTDCObj
vector< Float_t > GetMTDCObj()
Definition: S800Calc.h:268
CRDC::ClassDef
ClassDef(CRDC, 1)
CRDC::GetMaxClusterWidth
Float_t GetMaxClusterWidth()
Definition: S800Calc.h:102
HODOSCOPE::HODOSCOPE
HODOSCOPE()
Definition: S800Calc.h:335
CRDC::Clear
void Clear(Option_t *="")
Definition: S800Calc.h:43
CRDC::ffitprm
std::vector< Float_t > ffitprm
Definition: S800Calc.h:139
Trigger::Clear
void Clear()
Definition: S800Calc.h:410
S800Calc::SetHODOSCOPE
void SetHODOSCOPE(HODOSCOPE hodoscope, int id)
Definition: S800Calc.h:482
IC
Definition: S800Calc.h:350
CRDC::ffnorm
Float_t ffnorm
Definition: S800Calc.h:140
S800Calc::GetInternalTS
long long int GetInternalTS()
Definition: S800Calc.h:503
TOF::GetRF
Float_t GetRF()
Definition: S800Calc.h:180
S800Calc::ClassDef
ClassDef(S800Calc, 2)
Trigger
Definition: S800Calc.h:399
CRDC::GetPedSubtractedPads
std::vector< Float_t > & GetPedSubtractedPads()
Definition: S800Calc.h:121
S800Calc::ftimes800
Float_t ftimes800
Definition: S800Calc.h:513
S800Calc::SetInternalTS
void SetInternalTS(long long int ts)
Definition: S800Calc.h:501
CRDC::GetNumClusters
Int_t GetNumClusters()
Definition: S800Calc.h:101
TOF::fobj
Float_t fobj
Definition: S800Calc.h:188
S800Calc::SetTrigger
void SetTrigger(Trigger in)
Definition: S800Calc.h:485
Trigger::GetS800
Short_t GetS800()
Gets the time difference between the master TDC start and the E1Up signal.
Definition: S800Calc.h:427
SCINT::SetDE
void SetDE(Float_t de_up, Float_t de_down)
Definition: S800Calc.h:310
SCINT::GetTimeup
Float_t GetTimeup()
Definition: S800Calc.h:317
MultiHitTOF::~MultiHitTOF
~MultiHitTOF()
Definition: S800Calc.h:200
Trigger::Trigger
Trigger()
Definition: S800Calc.h:401
CRDC::ftac
Float_t ftac
Definition: S800Calc.h:129
MultiHitTOF::fE1Down
vector< Float_t > fE1Down
Definition: S800Calc.h:271
MultiHitTOF::GetFirstRfHit
Float_t GetFirstRfHit()
Definition: S800Calc.h:248
S800Calc::GetCRDC
CRDC * GetCRDC(int id)
Definition: S800Calc.h:489
CRDC::GetMaxChg
Float_t GetMaxChg()
Definition: S800Calc.h:115
Trigger::GetRegistr
Short_t GetRegistr()
Gets a flag for the trigger type of event (1 singles, 2 coincidence)
Definition: S800Calc.h:426
CRDC::~CRDC
~CRDC()=default
CRDC::CRDC
CRDC()
Definition: S800Calc.h:23
SCINT::GetTime
Float_t GetTime()
Definition: S800Calc.h:316
CRDC::GetY
Float_t GetY()
Definition: S800Calc.h:106
MultiHitTOF::GetFirstE1DownHit
Float_t GetFirstE1DownHit()
Definition: S800Calc.h:222
SCINT::Clear
void Clear(Option_t *="")
Definition: S800Calc.h:292
Trigger::fs800
Short_t fs800
Definition: S800Calc.h:443
CRDC::SetTAC
void SetTAC(float tac)
Definition: S800Calc.h:91
SCINT::ftimedown
Float_t ftimedown
Definition: S800Calc.h:326
Trigger::fregistr
Short_t fregistr
Definition: S800Calc.h:442
Trigger::fexternal1
Short_t fexternal1
Definition: S800Calc.h:444
TOF::GetTACXFP
Float_t GetTACXFP()
Definition: S800Calc.h:184
IC::~IC
~IC()
Definition: S800Calc.h:359
CRDC::SetMaxPad
void SetMaxPad(Short_t maxpad)
Definition: S800Calc.h:94
CRDC::fx
Float_t fx
Definition: S800Calc.h:125
CRDC::SetNumClusters
void SetNumClusters(Int_t n)
Definition: S800Calc.h:98
CRDC::GetXcog
Float_t GetXcog()
Definition: S800Calc.h:107
S800Calc::GetTS
long long int GetTS()
Definition: S800Calc.h:502
CRDC::fcal
std::vector< Float_t > fcal
Definition: S800Calc.h:132
S800Calc::fIC
IC fIC
Definition: S800Calc.h:507
MultiHitTOF::GetFirstObjHit
Float_t GetFirstObjHit()
Definition: S800Calc.h:239
CRDC::fchan
std::vector< Int_t > fchan
Definition: S800Calc.h:134
CRDC::GetXpad
std::vector< Int_t > GetXpad()
Definition: S800Calc.h:118
SCINT::GetTimedown
Float_t GetTimedown()
Definition: S800Calc.h:318
SCINT::GetDEup
Float_t GetDEup()
Definition: S800Calc.h:320
Trigger::GetExternal2
Short_t GetExternal2()
Gets the time difference between the master TDC start and the External2 signal.
Definition: S800Calc.h:432
S800Calc::SetMultiHitTOF
void SetMultiHitTOF(MultiHitTOF f)
Definition: S800Calc.h:484
SCINT::ftime
Float_t ftime
Definition: S800Calc.h:324
S800Calc::S800Calc
S800Calc()
Definition: S800Calc.h:457
TOF::ftac_obj
Float_t ftac_obj
Definition: S800Calc.h:191
TOF::fxfp
Float_t fxfp
Definition: S800Calc.h:189
IC::SetSum
void SetSum(Float_t sum)
Definition: S800Calc.h:378
Trigger::GetSecondary
Short_t GetSecondary()
Gets the time difference between the master TDC start and the Secondary signal.
Definition: S800Calc.h:436
HODOSCOPE
Definition: S800Calc.h:333
IC::GetSum
Float_t GetSum()
Definition: S800Calc.h:380
IC::GetCal
std::vector< Float_t > GetCal()
Definition: S800Calc.h:383
S800Calc::fts
long long int fts
Definition: S800Calc.h:514
TOF::Set
void Set(Float_t rf, Float_t obj, Float_t xfp)
Definition: S800Calc.h:169
S800Calc::SetIsInCut
void SetIsInCut(Bool_t val)
Definition: S800Calc.h:476
TOF::ClassDef
ClassDef(TOF, 1)
TOF::SetTAC
void SetTAC(Float_t obj, Float_t xfp)
Definition: S800Calc.h:175
MultiHitTOF::GetFirstXfHit
Float_t GetFirstXfHit()
Definition: S800Calc.h:230
S800Calc::SetTOF
void SetTOF(TOF tof)
Definition: S800Calc.h:479
MultiHitTOF::Clear
void Clear()
Definition: S800Calc.h:202
SCINT::ClassDef
ClassDef(SCINT, 1)
CRDC::fMaxClusterWidth
Float_t fMaxClusterWidth
Definition: S800Calc.h:142
CRDC::fmaxpad
Short_t fmaxpad
Definition: S800Calc.h:137
S800Calc::SetCRDC
void SetCRDC(CRDC crdc, int id)
Definition: S800Calc.h:478
TOF::~TOF
~TOF()=default
TOF::GetTACOBJ
Float_t GetTACOBJ()
Definition: S800Calc.h:183
CRDC::SetMaxChg
void SetMaxChg(Float_t maxchg)
Definition: S800Calc.h:95
MultiHitTOF::ClassDef
ClassDef(MultiHitTOF, 1)
MultiHitTOF::fE1Up
vector< Float_t > fE1Up
Definition: S800Calc.h:270
IC::fchan
std::vector< Int_t > fchan
Definition: S800Calc.h:388
CRDC::SetCathode
void SetCathode(float cathode)
Definition: S800Calc.h:93
CRDC::SetMaxClusterWidth
void SetMaxClusterWidth(Float_t w)
Definition: S800Calc.h:99
CRDC::SetAnode
void SetAnode(float anode)
Definition: S800Calc.h:92
CRDC::SetFitPrm
void SetFitPrm(Short_t i, Float_t prm)
Definition: S800Calc.h:96
S800Calc::GetTimeS800
Float_t GetTimeS800()
Definition: S800Calc.h:488
MultiHitTOF::GetFirstE1UpHit
Float_t GetFirstE1UpHit()
Definition: S800Calc.h:213
S800Calc::fTOF
TOF fTOF
Definition: S800Calc.h:508
CRDC::GetMaxPad
Short_t GetMaxPad()
Definition: S800Calc.h:114