Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
IPNL_GAMMA
gammaware
Commits
13ca1b00
Commit
13ca1b00
authored
Sep 18, 2019
by
Jérémie Dudouet
Browse files
Merge branch 'Cubix' into 'Cubix'
Add color mode for level scheme See merge request
!50
parents
196a51dd
581225ae
Pipeline
#45530
passed with stage
in 8 minutes and 45 seconds
Changes
9
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
169 additions
and
6 deletions
+169
-6
src/root/gui/cubix/src/CXGuiLSPlayer.cpp
src/root/gui/cubix/src/CXGuiLSPlayer.cpp
+5
-0
src/root/gui/cubix/src/CXGuiLSPlayer.h
src/root/gui/cubix/src/CXGuiLSPlayer.h
+4
-0
src/root/gui/cubix/src/CXLevelSchemePlayer.cpp
src/root/gui/cubix/src/CXLevelSchemePlayer.cpp
+9
-0
src/root/gui/cubix/src/CXRadReader.cpp
src/root/gui/cubix/src/CXRadReader.cpp
+1
-1
src/root/physics/BaseLSPlayer.cpp
src/root/physics/BaseLSPlayer.cpp
+1
-1
src/root/physics/Level.cpp
src/root/physics/Level.cpp
+3
-0
src/root/physics/LevelScheme.cpp
src/root/physics/LevelScheme.cpp
+1
-0
src/root/physics/Link.cpp
src/root/physics/Link.cpp
+143
-3
src/root/physics/Link.h
src/root/physics/Link.h
+2
-1
No files found.
src/root/gui/cubix/src/CXGuiLSPlayer.cpp
View file @
13ca1b00
...
...
@@ -63,6 +63,11 @@ CXGuiLSPlayer::CXGuiLSPlayer(const TGCompositeFrame *MotherFrame, UInt_t w, UInt
fGroupFrame
->
AddFrame
(
fPlotLSButton
,
new
TGLayoutHints
(
kLHintsCenterX
|
kLHintsCenterY
|
kLHintsExpandX
,
15
,
15
,
10
,
10
));
fHorizontalFrame
=
new
TGCompositeFrame
(
fGroupFrame
,
60
,
20
,
kHorizontalFrame
);
fHorizontalFrame
->
AddFrame
(
fArrowMode
=
new
TGCheckButton
(
fHorizontalFrame
,
"Collored arrows mode"
,
99
),
new
TGLayoutHints
(
kLHintsTop
|
kLHintsRight
,
5
,
0
,
0
,
0
));
fGroupFrame
->
AddFrame
(
fHorizontalFrame
,
new
TGLayoutHints
(
kLHintsCenterX
|
kLHintsCenterY
,
0
,
0
,
0
,
0
));
fGroupFrame
=
new
TGGroupFrame
(
MotherFrame
,
"Parameters"
,
kVerticalFrame
);
fGroupFrame
->
SetTextColor
(
CXblue
);
fGroupFrame
->
SetTitlePos
(
TGGroupFrame
::
kLeft
);
// right aligned
...
...
src/root/gui/cubix/src/CXGuiLSPlayer.h
View file @
13ca1b00
...
...
@@ -49,6 +49,8 @@ private:
TGCheckButton
*
fUseLifeTime
;
TGComboBox
*
fLifeTimeScale
[
2
];
TGCheckButton
*
fArrowMode
;
CXLevelSchemePlayer
*
fLSPlayer
=
nullptr
;
Bool_t
fNucleiAreKnown
=
false
;
...
...
@@ -74,6 +76,8 @@ public:
void
GetSpins
(
Int_t
&
min
,
Int_t
&
max
);
void
GetLifeTime
(
Float_t
&
min
,
Float_t
&
max
);
Bool_t
GetColorMode
(){
return
fArrowMode
->
GetState
();}
Int_t
GetDataType
(){
return
fDataTypeMode
;}
Bool_t
GetYrastMode
(){
return
fYrastMode
;}
...
...
src/root/gui/cubix/src/CXLevelSchemePlayer.cpp
View file @
13ca1b00
...
...
@@ -89,6 +89,8 @@ void CXLevelSchemePlayer::CleanArrows()
{
gPad
=
fMainWindow
->
GetSelectedPad
();
if
(
gPad
==
nullptr
)
return
;
for
(
int
i
=
0
;
i
<
fListOfArrows
->
GetEntries
()
;
i
++
)
{
if
(
gPad
->
GetListOfPrimitives
()
->
FindObject
(
fListOfArrows
->
At
(
i
)))
{
gPad
->
GetListOfPrimitives
()
->
Remove
(
fListOfArrows
->
At
(
i
));
...
...
@@ -205,6 +207,7 @@ LevelScheme *CXLevelSchemePlayer::DrawArrowsForNuc(TString NucName, TString Data
LevelScheme
*
RefLevel
=
nullptr
;
CXNucleus
nuc
(
NucName
);
if
(
nuc
.
IsKnown
()
==
false
)
return
nullptr
;
///ENSDF data
if
(
fGuiLSPlayer
->
GetDataType
()
==
1
||
fGuiLSPlayer
->
GetDataType
()
==
3
)
{
...
...
@@ -732,6 +735,9 @@ void CXLevelSchemePlayer::PlotLevelScheme(TString NucName, TString Type, TString
lev
->
SetX1
(
fRangeXMin
);
lev
->
SetX2
(
fRangeXMax
);
lev
->
SetLineColor
(
kBlack
);
lev
->
SetLineWidth
(
1
);
}
for
(
int
i
=
0
;
i
<
LS_To_Plot
->
GetLinks
().
GetEntries
()
;
i
++
)
{
...
...
@@ -741,6 +747,7 @@ void CXLevelSchemePlayer::PlotLevelScheme(TString NucName, TString Type, TString
link
->
Paint
();
}
// LS_To_Plot->SetName("");
LS_To_Plot
->
Draw
();
LSPlayer
->
GetLSAxis
()
->
SetRange
(
0
,
YMax
,
fRangeXMin
,
fRangeXMax
);
...
...
@@ -761,6 +768,8 @@ void CXLevelSchemePlayer::DrawLink(LevelScheme *ls, GammaLink *gammalink)
LSPlayer
->
AddLink
(
strenght
,
0
,
energy
);
GammaLink
*
NewLink
=
(
GammaLink
*
)
ls
->
GetLinks
().
Last
();
if
(
fGuiLSPlayer
->
GetColorMode
())
NewLink
->
SetArrowStyle
(
2
);
else
NewLink
->
SetArrowStyle
(
1
);
if
(
ls
->
GetLinks
().
GetEntries
()
==
1
)
{
NewLink
->
RefreshPoints
();
...
...
src/root/gui/cubix/src/CXRadReader.cpp
View file @
13ca1b00
...
...
@@ -593,7 +593,7 @@ double CXRadReader::EffFuncFormula(double *x, double *p)
double
EG
=
x
[
0
];
double
eff
=
0
;
// Paramters from Radware's web site:
// Paramters from Radware's web site:
https://radware.phy.ornl.gov/gf3/#5.3.
// A=7.04 B=0.7 C=0.
// D=5.273 E=-0.863 F=0.01
// G=11
...
...
src/root/physics/BaseLSPlayer.cpp
View file @
13ca1b00
...
...
@@ -859,7 +859,7 @@ LSaxis::LSaxis()
fLastY1Zoom
(
0
),
fLastY2Zoom
(
0
)
{
SetLabelFont
(
132
);
}
//__________________________________________________________
...
...
src/root/physics/Level.cpp
View file @
13ca1b00
...
...
@@ -87,6 +87,9 @@ Level::Level()
fLabel0
.
SetTextSize
(
GetDefaultLabelSize
());
fLabel1
.
SetTextSize
(
GetDefaultLabelSize
());
fLabel2
.
SetTextSize
(
GetDefaultLabelSize
());
fLabel3
.
SetTextSize
(
GetDefaultLabelSize
());
fLabel0
.
SetTextFont
(
132
);
fLabel1
.
SetTextFont
(
132
);
fLabel2
.
SetTextFont
(
132
);
fLabel3
.
SetTextFont
(
132
);
}
//__________________________________________________________
...
...
src/root/physics/LevelScheme.cpp
View file @
13ca1b00
...
...
@@ -88,6 +88,7 @@ LevelScheme::LevelScheme()
fName
.
SetTextAlign
(
22
);
fName
.
SetTextColor
(
1
);
fName
.
SetTextFont
(
132
);
}
//__________________________________________________________
...
...
src/root/physics/Link.cpp
View file @
13ca1b00
...
...
@@ -228,6 +228,8 @@ void Link::SetPoints(Double_t xi, Double_t xf)
SetBasicStylePoints
(
xi
,
xf
);
if
(
fArrowStyle
==
1
)
SetAdvancedStylePoints
(
xi
,
xf
);
if
(
fArrowStyle
==
2
)
SetAdvancedStylePointsColor
(
xi
,
xf
);
}
void
Link
::
SetBasicStylePoints
(
Double_t
xi
,
Double_t
xf
)
...
...
@@ -278,6 +280,143 @@ void Link::SetBasicStylePoints(Double_t xi, Double_t xf)
using
namespace
std
;
void
Link
::
SetAdvancedStylePointsColor
(
Double_t
xi
,
Double_t
xf
)
{
// A link is basically a TPolyLine with 8 points, using a colored scale for the srenght :
//
// P1 xi P2
// | | |
// yi *********
// * *
// * *
// * *
// P3 P4 * * P5 P6
// | \* */ |
// ****** ******
// * *
// * *
// * *
// * *
// * *
// * *
// * *
// * *
// yf *
// xf
if
(
TMath
::
Abs
(
xi
-
xf
)
<
5
)
xf
=
xi
;
///Metric corrections
Float_t
PadWidth
=
gPad
->
GetWw
();
Float_t
PadHeight
=
gPad
->
GetWh
();
Float_t
XWidth
=
gPad
->
GetX2
()
-
gPad
->
GetX1
();
Float_t
YWidth
=
gPad
->
GetY2
()
-
gPad
->
GetY1
();
Float_t
MetricFact
=
YWidth
*
PadWidth
/
(
PadHeight
*
XWidth
);
xi
=
MetricFact
*
xi
;
xf
=
MetricFact
*
xf
;
Double_t
yi
=
GetIL
()
->
GetY1
();
Double_t
yf
=
GetFL
()
->
GetY1
();
Double_t
ad
=
(
yf
-
yi
)
/
(
xf
-
xi
);
if
(
TMath
::
Abs
(
xf
-
xi
)
<
1e-10
)
ad
=
1e12
;
Double_t
bd
=
yi
-
ad
*
xi
;
Float_t
StrenghtFact
=
1.
/
100
*
XWidth
*
0.02
;
//equation droite reliant xi a xf : yd = ad*x + bd
Double_t
ArrowWidth
=
40
;
// fixed strength
Float_t
ArrowFact
=
ArrowWidth
*
2
;
Double_t
Strenght
=
GetStrength
().
Get
();
Double_t
Red
[
225
]
=
{
0
,
0.000632511
,
0.00126502
,
0.00189753
,
0.00253004
,
0.00316256
,
0.00379507
,
0.00442758
,
0.00506009
,
0.0056926
,
0.00632511
,
0.00695762
,
0.00759013
,
0.00822264
,
0.00885515
,
0.00948767
,
0.0101202
,
0.0107527
,
0.0113852
,
0.0120177
,
0.0126502
,
0.0132827
,
0.0139152
,
0.0145478
,
0.0151803
,
0.0158128
,
0.0164453
,
0.0170778
,
0.0177103
,
0.0183428
,
0.0189753
,
0.0196078
,
0.0208333
,
0.0220588
,
0.0232843
,
0.0245098
,
0.0257353
,
0.0269608
,
0.0281863
,
0.0294118
,
0.0306373
,
0.0318627
,
0.0330882
,
0.0343137
,
0.0355392
,
0.0367647
,
0.0379902
,
0.0392157
,
0.0404412
,
0.0416667
,
0.0428922
,
0.0441176
,
0.0453431
,
0.0465686
,
0.0477941
,
0.0490196
,
0.0502451
,
0.0514706
,
0.0526961
,
0.0539216
,
0.0551471
,
0.0563725
,
0.057598
,
0.0588235
,
0.0612745
,
0.0637255
,
0.0661765
,
0.0686275
,
0.0710784
,
0.0735294
,
0.0759804
,
0.0784314
,
0.0808824
,
0.0833333
,
0.0857843
,
0.0882353
,
0.0906863
,
0.0931373
,
0.0955882
,
0.0980392
,
0.10049
,
0.102941
,
0.105392
,
0.107843
,
0.110294
,
0.112745
,
0.115196
,
0.117647
,
0.120098
,
0.122549
,
0.125
,
0.127451
,
0.129902
,
0.132353
,
0.134804
,
0.137255
,
0.145466
,
0.153676
,
0.161887
,
0.170098
,
0.178309
,
0.18652
,
0.19473
,
0.202941
,
0.211152
,
0.219363
,
0.227574
,
0.235784
,
0.243995
,
0.252206
,
0.260417
,
0.268627
,
0.276838
,
0.285049
,
0.29326
,
0.301471
,
0.309681
,
0.317892
,
0.326103
,
0.334314
,
0.342524
,
0.350735
,
0.358946
,
0.367157
,
0.375368
,
0.383578
,
0.391789
,
0.4
,
0.41152
,
0.423039
,
0.434559
,
0.446078
,
0.457598
,
0.469118
,
0.480637
,
0.492157
,
0.503676
,
0.515196
,
0.526716
,
0.538235
,
0.549755
,
0.561275
,
0.572794
,
0.584314
,
0.595833
,
0.607353
,
0.618873
,
0.630392
,
0.641912
,
0.653431
,
0.664951
,
0.676471
,
0.68799
,
0.69951
,
0.711029
,
0.722549
,
0.734069
,
0.745588
,
0.757108
,
0.768627
,
0.770098
,
0.771569
,
0.773039
,
0.77451
,
0.77598
,
0.777451
,
0.778922
,
0.780392
,
0.781863
,
0.783333
,
0.784804
,
0.786274
,
0.787745
,
0.789216
,
0.790686
,
0.792157
,
0.793627
,
0.795098
,
0.796569
,
0.798039
,
0.79951
,
0.80098
,
0.802451
,
0.803922
,
0.805392
,
0.806863
,
0.808333
,
0.809804
,
0.811275
,
0.812745
,
0.814216
,
0.815686
,
0.814583
,
0.81348
,
0.812377
,
0.811275
,
0.810172
,
0.809069
,
0.807966
,
0.806863
,
0.80576
,
0.804657
,
0.803554
,
0.802451
,
0.801348
,
0.800245
,
0.799142
,
0.798039
,
0.796936
,
0.795833
,
0.79473
,
0.793627
,
0.792525
,
0.791422
,
0.790319
,
0.789216
,
0.788113
,
0.78701
,
0.785907
,
0.784804
,
0.783701
,
0.782598
,
0.781495
,
0.780392
,
0.769485
};
Double_t
Green
[
225
]
=
{
0
,
0.00607211
,
0.0121442
,
0.0182163
,
0.0242884
,
0.0303605
,
0.0364326
,
0.0425047
,
0.0485769
,
0.054649
,
0.0607211
,
0.0667932
,
0.0728653
,
0.0789374
,
0.0850095
,
0.0910816
,
0.0971537
,
0.103226
,
0.109298
,
0.11537
,
0.121442
,
0.127514
,
0.133586
,
0.139658
,
0.145731
,
0.151803
,
0.157875
,
0.163947
,
0.170019
,
0.176091
,
0.182163
,
0.188235
,
0.197549
,
0.206863
,
0.216176
,
0.22549
,
0.234804
,
0.244118
,
0.253431
,
0.262745
,
0.272059
,
0.281373
,
0.290686
,
0.3
,
0.309314
,
0.318627
,
0.327941
,
0.337255
,
0.346569
,
0.355882
,
0.365196
,
0.37451
,
0.383824
,
0.393137
,
0.402451
,
0.411765
,
0.421078
,
0.430392
,
0.439706
,
0.44902
,
0.458333
,
0.467647
,
0.476961
,
0.486275
,
0.494608
,
0.502941
,
0.511275
,
0.519608
,
0.527941
,
0.536274
,
0.544608
,
0.552941
,
0.561275
,
0.569608
,
0.577941
,
0.586275
,
0.594608
,
0.602941
,
0.611274
,
0.619608
,
0.627941
,
0.636275
,
0.644608
,
0.652941
,
0.661274
,
0.669608
,
0.677941
,
0.686275
,
0.694608
,
0.702941
,
0.711275
,
0.719608
,
0.727941
,
0.736274
,
0.744608
,
0.752941
,
0.754657
,
0.756373
,
0.758088
,
0.759804
,
0.76152
,
0.763235
,
0.764951
,
0.766667
,
0.768382
,
0.770098
,
0.771814
,
0.773529
,
0.775245
,
0.776961
,
0.778676
,
0.780392
,
0.782108
,
0.783824
,
0.785539
,
0.787255
,
0.788971
,
0.790686
,
0.792402
,
0.794118
,
0.795833
,
0.797549
,
0.799265
,
0.80098
,
0.802696
,
0.804412
,
0.806127
,
0.807843
,
0.810294
,
0.812745
,
0.815196
,
0.817647
,
0.820098
,
0.822549
,
0.825
,
0.827451
,
0.829902
,
0.832353
,
0.834804
,
0.837255
,
0.839706
,
0.842157
,
0.844608
,
0.847059
,
0.84951
,
0.851961
,
0.854412
,
0.856863
,
0.859314
,
0.861765
,
0.864216
,
0.866667
,
0.869118
,
0.871569
,
0.87402
,
0.876471
,
0.878922
,
0.881373
,
0.883824
,
0.886275
,
0.870466
,
0.854657
,
0.838848
,
0.823039
,
0.80723
,
0.791422
,
0.775613
,
0.759804
,
0.743995
,
0.728186
,
0.712377
,
0.696569
,
0.68076
,
0.664951
,
0.649142
,
0.633333
,
0.617525
,
0.601716
,
0.585907
,
0.570098
,
0.554289
,
0.53848
,
0.522672
,
0.506863
,
0.491054
,
0.475245
,
0.459436
,
0.443627
,
0.427819
,
0.41201
,
0.396201
,
0.380392
,
0.370466
,
0.360539
,
0.350613
,
0.340686
,
0.33076
,
0.320833
,
0.310907
,
0.30098
,
0.291054
,
0.281127
,
0.271201
,
0.261275
,
0.251348
,
0.241422
,
0.231495
,
0.221569
,
0.211642
,
0.201716
,
0.191789
,
0.181863
,
0.171936
,
0.16201
,
0.152083
,
0.142157
,
0.13223
,
0.122304
,
0.112377
,
0.102451
,
0.0925245
,
0.082598
,
0.0726716
,
0.0627451
,
0.0607843
};
Double_t
Blue
[
225
]
=
{
0.388235
,
0.393675
,
0.399114
,
0.404554
,
0.409994
,
0.415433
,
0.420873
,
0.426312
,
0.431752
,
0.437192
,
0.442631
,
0.448071
,
0.45351
,
0.45895
,
0.46439
,
0.469829
,
0.475269
,
0.480708
,
0.486148
,
0.491588
,
0.497027
,
0.502467
,
0.507906
,
0.513346
,
0.518786
,
0.524225
,
0.529665
,
0.535104
,
0.540544
,
0.545984
,
0.551423
,
0.556863
,
0.563725
,
0.570588
,
0.577451
,
0.584314
,
0.591176
,
0.598039
,
0.604902
,
0.611765
,
0.618627
,
0.62549
,
0.632353
,
0.639216
,
0.646078
,
0.652941
,
0.659804
,
0.666667
,
0.673529
,
0.680392
,
0.687255
,
0.694118
,
0.70098
,
0.707843
,
0.714706
,
0.721569
,
0.728431
,
0.735294
,
0.742157
,
0.74902
,
0.755882
,
0.762745
,
0.769608
,
0.776471
,
0.776838
,
0.777206
,
0.777574
,
0.777941
,
0.778309
,
0.778676
,
0.779044
,
0.779412
,
0.779779
,
0.780147
,
0.780515
,
0.780882
,
0.78125
,
0.781618
,
0.781985
,
0.782353
,
0.782721
,
0.783088
,
0.783456
,
0.783824
,
0.784191
,
0.784559
,
0.784926
,
0.785294
,
0.785662
,
0.786029
,
0.786397
,
0.786765
,
0.787132
,
0.7875
,
0.787868
,
0.788235
,
0.774632
,
0.761029
,
0.747426
,
0.733824
,
0.720221
,
0.706618
,
0.693015
,
0.679412
,
0.665809
,
0.652206
,
0.638603
,
0.625
,
0.611397
,
0.597794
,
0.584191
,
0.570588
,
0.556985
,
0.543382
,
0.529779
,
0.516176
,
0.502574
,
0.488971
,
0.475368
,
0.461765
,
0.448162
,
0.434559
,
0.420956
,
0.407353
,
0.39375
,
0.380147
,
0.366544
,
0.352941
,
0.344608
,
0.336275
,
0.327941
,
0.319608
,
0.311274
,
0.302941
,
0.294608
,
0.286275
,
0.277941
,
0.269608
,
0.261275
,
0.252941
,
0.244608
,
0.236275
,
0.227941
,
0.219608
,
0.211275
,
0.202941
,
0.194608
,
0.186275
,
0.177941
,
0.169608
,
0.161275
,
0.152941
,
0.144608
,
0.136275
,
0.127941
,
0.119608
,
0.111275
,
0.102941
,
0.0946078
,
0.0862745
,
0.0851716
,
0.0840686
,
0.0829657
,
0.0818627
,
0.0807598
,
0.0796569
,
0.0785539
,
0.077451
,
0.076348
,
0.0752451
,
0.0741422
,
0.0730392
,
0.0719363
,
0.0708333
,
0.0697304
,
0.0686275
,
0.0675245
,
0.0664216
,
0.0653186
,
0.0642157
,
0.0631127
,
0.0620098
,
0.0609069
,
0.0598039
,
0.058701
,
0.057598
,
0.0564951
,
0.0553922
,
0.0542892
,
0.0531863
,
0.0520833
,
0.0509804
,
0.0503676
,
0.0497549
,
0.0491422
,
0.0485294
,
0.0479167
,
0.0473039
,
0.0466912
,
0.0460784
,
0.0454657
,
0.0448529
,
0.0442402
,
0.0436275
,
0.0430147
,
0.042402
,
0.0417892
,
0.0411765
,
0.0405637
,
0.039951
,
0.0393382
,
0.0387255
,
0.0381127
,
0.0375
,
0.0368873
,
0.0362745
,
0.0356618
,
0.035049
,
0.0344363
,
0.0338235
,
0.0332108
,
0.032598
,
0.0319853
,
0.0313726
,
0.0306373
};
Int_t
colors
[
225
]
=
{
1179
,
1180
,
1181
,
1182
,
1183
,
1184
,
1185
,
1186
,
1187
,
1188
,
1189
,
1190
,
1191
,
1192
,
1193
,
1194
,
1195
,
1196
,
1197
,
1198
,
1199
,
1200
,
1201
,
1202
,
1203
,
1204
,
1205
,
1206
,
1207
,
1208
,
1209
,
1210
,
1211
,
1212
,
1213
,
1214
,
1215
,
1216
,
1217
,
1218
,
1219
,
1220
,
1221
,
1222
,
1223
,
1224
,
1225
,
1226
,
1227
,
1228
,
1229
,
1230
,
1231
,
1232
,
1233
,
1234
,
1235
,
1236
,
1237
,
1238
,
1239
,
1240
,
1241
,
1242
,
1243
,
1244
,
1245
,
1246
,
1247
,
1248
,
1249
,
1250
,
1251
,
1252
,
1253
,
1254
,
1255
,
1256
,
1257
,
1258
,
1259
,
1260
,
1261
,
1262
,
1263
,
1264
,
1265
,
1266
,
1267
,
1268
,
1269
,
1270
,
1271
,
1272
,
1273
,
1274
,
1275
,
1276
,
1277
,
1278
,
1279
,
1280
,
1281
,
1282
,
1283
,
1284
,
1285
,
1286
,
1287
,
1288
,
1289
,
1290
,
1291
,
1292
,
1293
,
1294
,
1295
,
1296
,
1297
,
1298
,
1299
,
1300
,
1301
,
1302
,
1303
,
1304
,
1305
,
1306
,
1307
,
1308
,
1309
,
1310
,
1311
,
1312
,
1313
,
1314
,
1315
,
1316
,
1317
,
1318
,
1319
,
1320
,
1321
,
1322
,
1323
,
1324
,
1325
,
1326
,
1327
,
1328
,
1329
,
1330
,
1331
,
1332
,
1333
,
1334
,
1335
,
1336
,
1337
,
1338
,
1339
,
1340
,
1341
,
1342
,
1343
,
1344
,
1345
,
1346
,
1347
,
1348
,
1349
,
1350
,
1351
,
1352
,
1353
,
1354
,
1355
,
1356
,
1357
,
1358
,
1359
,
1360
,
1361
,
1362
,
1363
,
1364
,
1365
,
1366
,
1367
,
1368
,
1369
,
1370
,
1371
,
1372
,
1373
,
1374
,
1375
,
1376
,
1377
,
1378
,
1379
,
1380
,
1381
,
1382
,
1383
,
1384
,
1385
,
1386
,
1387
,
1388
,
1389
,
1390
,
1391
,
1392
,
1393
,
1394
,
1395
,
1396
,
1397
,
1398
,
1399
,
1400
,
1401
,
1402
,
1403
};
for
(
int
i
=
0
;
i
<
225
;
i
++
)
{
if
(
gROOT
->
GetColor
(
colors
[
i
]
+
10000
)
==
nullptr
)
new
TColor
(
colors
[
i
]
+
10000
,
Red
[
i
],
Green
[
i
],
Blue
[
i
]);
}
SetFillColor
(
colors
[((
Int_t
)(
Strenght
*
224.
/
100.
))]
+
10000
);
SetLineWidth
(
1
);
Double_t
b1
=
bd
-
ArrowWidth
*
StrenghtFact
*
MetricFact
*
sqrt
(
ad
*
ad
+
1
);
// yd1 = ad*x+b1
Double_t
b2
=
bd
+
ArrowWidth
*
StrenghtFact
*
MetricFact
*
sqrt
(
ad
*
ad
+
1
);
// yd2 = ad*x+b2
Double_t
x_p1
=
(
yi
-
b1
)
/
ad
;
Double_t
x_p2
=
(
yi
-
b2
)
/
ad
;
Float_t
ArrowPosFactor
=
0.8
;
Double_t
Proj_x
=
xi
+
ArrowPosFactor
*
(
xf
-
xi
);
Double_t
Proj_y
=
yf
+
0.03
*
YWidth
;
//yi + ArrowPosFactor*(yf-yi);
if
(
Proj_y
>
yi
)
Proj_y
=
yi
;
Double_t
ap0
=
-
1.
/
ad
;
Double_t
bp0
=
Proj_y
-
ap0
*
Proj_x
;
//ydp = ap0*x + bp0
Double_t
xp4
=
(
bp0
-
b1
)
/
(
ad
-
ap0
);
Double_t
yp4
=
ad
*
xp4
+
b1
;
Double_t
xp5
=
(
bp0
-
b2
)
/
(
ad
-
ap0
);
Double_t
yp5
=
ad
*
xp5
+
b2
;
if
(
ad
>=
1e12
)
{
yp4
=
Proj_y
;
yp5
=
Proj_y
;
}
Double_t
xp3
=
xp4
+
ArrowFact
*
(
xp4
-
Proj_x
)
*
1.
/
(
sqrt
((
Proj_x
-
xp4
)
*
(
Proj_x
-
xp4
)
+
(
Proj_y
-
yp4
)
*
(
Proj_y
-
yp4
)));
Double_t
yp3
=
yp4
+
ArrowFact
*
(
yp4
-
Proj_y
)
*
1.
/
(
sqrt
((
Proj_x
-
xp4
)
*
(
Proj_x
-
xp4
)
+
(
Proj_y
-
yp4
)
*
(
Proj_y
-
yp4
)));
Double_t
xp6
=
xp5
+
ArrowFact
*
(
xp5
-
Proj_x
)
*
1.
/
(
sqrt
((
Proj_x
-
xp5
)
*
(
Proj_x
-
xp5
)
+
(
Proj_y
-
yp5
)
*
(
Proj_y
-
yp5
)));
Double_t
yp6
=
yp5
+
ArrowFact
*
(
yp5
-
Proj_y
)
*
1.
/
(
sqrt
((
Proj_x
-
xp5
)
*
(
Proj_x
-
xp5
)
+
(
Proj_y
-
yp5
)
*
(
Proj_y
-
yp5
)));
Double_t
height
=
GetFL
()
->
GetY1
()
+
TMath
::
Abs
(
GetIL
()
->
GetY1
()
-
GetFL
()
->
GetY1
())
*
(
0.6
);
if
(
Link
::
GetIL
()
&&
Link
::
GetFL
()
)
{
SetPoint
(
0
,
x_p1
/
MetricFact
,
yi
);
SetPoint
(
1
,
xi
/
MetricFact
,
yi
);
SetPoint
(
2
,
x_p2
/
MetricFact
,
yi
);
SetPoint
(
3
,
xp5
/
MetricFact
,
yp5
);
SetPoint
(
4
,
xp6
/
MetricFact
,
yp6
);
SetPoint
(
5
,
xf
/
MetricFact
,
yf
);
SetPoint
(
6
,
xp3
/
MetricFact
,
yp3
);
SetPoint
(
7
,
xp4
/
MetricFact
,
yp4
);
SetPoint
(
8
,
x_p1
/
MetricFact
,
yi
);
}
for
(
Int_t
i
=
0
;
i
<
fgkMaxLinkLabel
;
++
i
)
{
GetLabel
(
i
).
SetY
(
height
);
}
GetLabel
(
0
).
SetX
(
xi
/
MetricFact
+
(
xf
/
MetricFact
-
xi
/
MetricFact
)
/
2.
-
ArrowWidth
);
GetLabel
(
1
).
SetX
(
xi
/
MetricFact
+
(
xf
/
MetricFact
-
xi
/
MetricFact
)
/
2.
);
GetLabel
(
2
).
SetX
(
xi
/
MetricFact
+
(
xf
/
MetricFact
-
xi
/
MetricFact
)
/
2.
+
ArrowWidth
);
// GetLabel(0).SetX(GetX()[1] - TMath::Abs(GetIL()->GetX2() - GetIL()->GetX1())*0.25);
// GetLabel(1).SetX(GetX()[1]);
// GetLabel(2).SetX(GetX()[1] + TMath::Abs(GetIL()->GetX2() - GetIL()->GetX1())*0.25);
}
void
Link
::
SetAdvancedStylePoints
(
Double_t
xi
,
Double_t
xf
)
{
// A link is basically a TPolyLine with 8 points :
...
...
@@ -420,7 +559,7 @@ void Link::RefreshPoints()
if
(
fArrowStyle
==
0
)
{
SetPoints
(
GetX
()[
0
]
+
(
GetX
()[
2
]
-
(
GetX
()[
0
]))
/
2.
,
GetX
()[
5
]);
}
else
if
(
fArrowStyle
==
1
)
{
else
if
(
fArrowStyle
==
1
||
fArrowStyle
==
2
)
{
SetPoints
(
GetX
()[
0
]
+
(
GetX
()[
2
]
-
(
GetX
()[
0
]))
/
2.
,
GetX
()[
5
]);
}
}
...
...
@@ -463,7 +602,8 @@ void Link::Paint(Option_t* option)
if
(
!
IsVisible
()
)
return
;
TPolyLine
::
Paint
(
option
);
TPolyLine
::
Paint
(
"line"
);
if
(
fVisLabel
[
0
]
==
'1'
)
{
GetLabel
(
0
).
Paint
(
option
);
}
...
...
@@ -488,7 +628,7 @@ void Link::Draw(Option_t* option)
if
(
!
IsVisible
()
)
return
;
TPolyLine
::
Draw
(
option
);
if
(
fVisLabel
[
0
]
==
'1'
)
{
GetLabel
(
0
).
Draw
(
option
);
}
...
...
src/root/physics/Link.h
View file @
13ca1b00
...
...
@@ -141,7 +141,8 @@ public:
virtual
void
SetPoints
(
Double_t
xi
,
Double_t
xf
);
virtual
void
SetBasicStylePoints
(
Double_t
xi
,
Double_t
xf
);
virtual
void
SetAdvancedStylePoints
(
Double_t
xi
,
Double_t
xf
);
virtual
void
SetAdvancedStylePointsColor
(
Double_t
xi
,
Double_t
xf
);
//! update points respect to a modified level (for future application)
virtual
void
UpdatePoints
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment