Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F8308921
ScannerSMain.cpp
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
ScannerSMain.cpp
View Options
#include
"ScannerSModelclasses.h"
#include
"ScannerSTools.h"
#include
"ScannerSUser.h"
#include
"ScannerSInterface.h"
#include
<iostream>
#include
<fstream>
using
namespace
std
;
int
main
(
int
argc
,
char
**
argv
){
CheckHelpNeeded
(
argc
,
argv
);
ifstream
instream
;
ofstream
outstream
,
logstream
,
errstream
;
string
inputfile
,
outputfile
,
logfile
,
errfile
;
streambuf
*
outbuff
,
*
logbuff
,
*
errbuff
;
RedirectOstream
(
cout
,
outstream
,
outbuff
,
argc
,
argv
,
outputfile
,
"-o"
);
RedirectInfostream
(
clog
,
logstream
,
logbuff
,
argc
,
argv
,
logfile
,
"--log"
);
RedirectInfostream
(
cerr
,
errstream
,
errbuff
,
argc
,
argv
,
errfile
,
"--err"
);
OpenInputFile
(
instream
,
argc
,
argv
,
inputfile
,
"-i"
);
unsigned
int
seed
=
atoi
(
ReturnOption
(
argc
,
argv
,
"--seed"
).
c_str
());
string
snscan
=
ReturnOption
(
argc
,
argv
,
"--nscan"
);
unsigned
int
nscan
=
1
;
if
(
snscan
.
size
()
!=
0
)
nscan
=
atoi
(
snscan
.
c_str
());
RandGen
r1
(
seed
);
Potential
V
(
r1
),
Vaux
(
r1
);
instream
>>
V
;
instream
.
close
();
instream
.
clear
();
instream
.
open
(
inputfile
.
c_str
());
instream
>>
Vaux
;
instream
.
close
();
instream
.
clear
();
PhiRef
Phi
(
V
);
LambdaRef
L
(
V
);
MassRef
Mass
(
V
);
MmixingRef
Mixing
(
V
);
unsigned
int
sizenscan
=
log10
(
nscan
)
+
1
;
//V.BoundTreeUni(); //Optional re-scalling of the quartic coupling ranges so that each individual quartic vertex is within tree level unitarity bounds
V
.
PrintHeader
();
clog
<<
"Generating points in parameter space... "
<<
endl
;
for
(
unsigned
int
i
=
0
;
i
!=
nscan
;){
if
(
V
.
generate
()
// Generate a parameter space point with all Vevs, Mixings, Couplings and Masses consistently determined.
&&
V
.
CheckTreeUni
()
//Optional check if the combination of quartic couplings that has been chosen is consistent with tree levek unitarity
&&
V
.
CheckBounds
()
//Check that the point generated is in the hypercubic region allowed by the user.
&&
CheckStability
(
L
)
// Check if the potential is bounded from below (user defined in this version)
&&
CheckGlobal
(
Phi
,
L
,
Vaux
)
// Check for other minimae (user defined in this version)
&&
UserAnalysis
(
Phi
,
L
,
Mass
,
Mixing
)
// User defined tests and analysis if all previous conditions are fulfilled
){
#ifndef VERBOSE
clog
<<
string
(
18
+
sizenscan
+
int
(
log10
(
i
+
1e-10
)),
'\b'
);
#endif
++
i
;
clog
<<
i
<<
" of "
<<
nscan
<<
" points done!"
<<
flush
;
}
}
clog
<<
endl
;
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Sat, Dec 21, 1:38 PM (19 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4022986
Default Alt Text
ScannerSMain.cpp (2 KB)
Attached To
rSCANNERSSVN scannerssvn
Event Timeline
Log In to Comment