R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BCoarseTimeStitch.cxx
Go to the documentation of this file.
1
/******************************************************************************
2
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3
* Copyright (C) 2019-2025 Members of R3B Collaboration *
4
* *
5
* This software is distributed under the terms of the *
6
* GNU General Public Licence (GPL) version 3, *
7
* copied verbatim in the file "LICENSE". *
8
* *
9
* In applying this license GSI does not waive the privileges and immunities *
10
* granted to it by virtue of its status as an Intergovernmental Organization *
11
* or submit itself to any jurisdiction. *
12
******************************************************************************/
13
14
#include "
R3BCoarseTimeStitch.h
"
15
#include "
R3BLogger.h
"
16
17
#include <TMath.h>
18
#define IS_NAN(x) TMath::IsNaN(x)
19
20
// Standard constructur
21
R3BCoarseTimeStitch::R3BCoarseTimeStitch
()
22
:
fRange1
(2048 * 1000. / 200.)
// ns
23
,
fRange2
(2048 * 1000. / 200.)
// ns
24
,
fRangeTamex
(2048 * 1000. / 200.)
// ns
25
,
fRangeTrb
(2048 * 1000. / 200.)
// ns
26
,
fRangeVftx
(8192 * 1000. / 200.)
// ns
27
,
fRangeClockTDC
(4096 * 1000. / 250.)
// ns
28
,
fRangeClockTDC150
(4096 * 1000. / 150.)
// ns
29
{
30
}
31
32
double
R3BCoarseTimeStitch::GetTime
(
double
time, TString
const
& name1, TString
const
& name2)
33
{
34
if
(name1 ==
"tamex"
)
35
{
36
fRange1
=
fRangeTamex
;
37
}
38
else
if
(name1 ==
"trb"
)
39
{
40
fRange1
=
fRangeTrb
;
41
}
42
else
if
(name1 ==
"vftx"
)
43
{
44
fRange1
=
fRangeVftx
;
45
}
46
else
if
(name1 ==
"clocktdc"
)
47
{
48
fRange1
=
fRangeClockTDC
;
49
}
50
else
51
{
52
R3BLOG
(fatal,
"Module "
<< name1 <<
" does not exist."
);
53
}
54
55
if
(name2 ==
"tamex"
)
56
{
57
fRange2
=
fRangeTamex
;
58
}
59
else
if
(name2 ==
"trb"
)
60
{
61
fRange2
=
fRangeTrb
;
62
}
63
else
if
(name2 ==
"vftx"
)
64
{
65
fRange2
=
fRangeVftx
;
66
}
67
else
if
(name2 ==
"clocktdc"
)
68
{
69
fRange2
=
fRangeClockTDC
;
70
}
71
else
72
{
73
R3BLOG
(fatal,
"Module "
<< name2 <<
" does not exist."
);
74
}
75
76
const
double
const1 = TMath::Min(
fRange1
,
fRange2
);
77
const
double
const2 = TMath::Max(
fRange1
,
fRange2
);
78
79
R3BLOG
(debug,
80
"Time: "
<< time <<
" , range1("
<< name1 <<
"): "
<<
fRange1
<<
" , range2("
<< name1 <<
"): "
<<
fRange2
);
81
return
fmod(time + const2 + const1 / 2., const1) - const1 / 2.;
82
}
83
84
ClassImp
(
R3BCoarseTimeStitch
)
R3BCoarseTimeStitch.h
R3BLogger.h
R3BLOG
#define R3BLOG(severity, x)
Definition
R3BLogger.h:32
ClassImp
ClassImp(R3B::Neuland::Cal2HitPar)
R3BCoarseTimeStitch
Definition
R3BCoarseTimeStitch.h:21
R3BCoarseTimeStitch::fRangeClockTDC
double fRangeClockTDC
Definition
R3BCoarseTimeStitch.h:45
R3BCoarseTimeStitch::fRangeClockTDC150
double fRangeClockTDC150
Definition
R3BCoarseTimeStitch.h:46
R3BCoarseTimeStitch::fRangeTamex
double fRangeTamex
Definition
R3BCoarseTimeStitch.h:42
R3BCoarseTimeStitch::fRange2
double fRange2
Definition
R3BCoarseTimeStitch.h:41
R3BCoarseTimeStitch::fRange1
double fRange1
Definition
R3BCoarseTimeStitch.h:40
R3BCoarseTimeStitch::GetTime
double GetTime(double, TString const &name1="tamex", TString const &name2="tamex")
Definition
R3BCoarseTimeStitch.cxx:32
R3BCoarseTimeStitch::R3BCoarseTimeStitch
R3BCoarseTimeStitch()
Definition
R3BCoarseTimeStitch.cxx:21
R3BCoarseTimeStitch::fRangeTrb
double fRangeTrb
Definition
R3BCoarseTimeStitch.h:44
R3BCoarseTimeStitch::fRangeVftx
double fRangeVftx
Definition
R3BCoarseTimeStitch.h:43
r3bbase
R3BCoarseTimeStitch.cxx
Generated by
1.13.2