本文整理汇总了C++中reference::To::get_filename方法的典型用法代码示例。如果您正苦于以下问题:C++ To::get_filename方法的具体用法?C++ To::get_filename怎么用?C++ To::get_filename使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reference::To
的用法示例。
在下文中一共展示了To::get_filename方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: set_total
void psradd::set_total (Pulsar::Archive* archive)
{
if (total)
{
if (auto_add_tscrunch)
{
if (verbose)
cerr << "psradd: Auto add - tscrunch and unload "
<< total->integration_length() << " s archive" << endl;
total->tscrunch();
}
if (very_verbose)
cerr << "psradd: after tscrunch, instance count = "
<< Reference::Able::get_instance_count() << endl;
if (!testing)
total->unload (unload_name);
}
if (verbose)
cerr << "psradd: starting with " << archive->get_filename() << endl;
total = archive;
if (time_direction)
time.init (total);
else
frequency.init (total);
if (auto_add)
unload_name = unload->get_output_filename( total );
if (log_results)
{
string log_name = total->get_source() + ".log";
if (log_name != log_filename)
{
if (log_file)
{
cerr << "psradd: Closing log file " << log_filename << endl;
fclose (log_file);
}
cerr << "psradd: Opening log file " << log_name << endl;
log_file = fopen (log_name.c_str(), "a");
log_filename = log_name;
if (!log_file)
throw Error (FailedSys, "psradd", "fopen (" + log_name + ")");
}
fprintf (log_file, "\npsradd %s: %s", unload_name.c_str(),
total->get_filename().c_str());
}
if (verbose)
cerr << "psradd: New filename: '" << unload_name << "'" << endl;
if (ephemeris) try
{
if (verbose)
cerr << "psradd: Installing new ephemeris" << endl;
total->set_ephemeris (ephemeris);
}
catch (Error& error)
{
cerr << "psradd: Error installing ephemeris in "
<< total->get_filename() << endl;
if (verbose)
cerr << error << endl;
else
cerr << " " << error.get_message() << endl;
if (!auto_add)
exit (-1);
throw error;
}
reset_total = false;
}
示例2: scan_pulses
int scan_pulses(Reference::To<Pulsar::Archive> arch, vector<pulse>& data,
int method, float cphs, float dcyc)
{
/* Find and store the flux and phase of each pulse in the file
to the data vector. */
pulse newentry;
Reference::To<Pulsar::Profile> prof;
newentry.file = arch->get_filename();
double nm, nv, vm;
int nbin = arch->get_nbin();
int bwid = int(float(nbin) * dcyc);
int cbin = 0;
for (unsigned i = 0; i < arch->get_nsubint(); i++) {
newentry.intg = i;
prof = arch->get_Profile(i, 0, 0);
prof->stats(prof->find_min_phase(), &nm, &nv, &vm);
newentry.err = sqrt(nv);
switch (method) {
case 0: // Method of total flux
newentry.flx = prof->sum();
newentry.phs = prof->find_max_phase();
break;
case 1: // Method of maximum amplitude
if (dcyc == 0.0) {
newentry.flx = prof->max();
newentry.phs = prof->find_max_phase();
}
else {
cbin = int(prof->find_max_phase(dcyc) * float(nbin));
newentry.flx = prof->sum(cbin - bwid/2, cbin + bwid/2);
newentry.phs = prof->find_max_phase(dcyc);
}
break;
case 2: // User-defined phase centre
cbin = int(float(nbin) * cphs);
if (dcyc == 0.0) {
newentry.flx = (prof->get_amps())[cbin];
newentry.phs = cphs;
}
else {
newentry.flx = prof->sum(cbin - bwid/2, cbin + bwid/2);
newentry.phs = cphs;
}
break;
default:
cerr << "No phase selection method chosen!" << endl;
}
data.push_back(newentry);
}
return data.size();
}
示例3: main
//.........这里部分代码省略.........
myio = new Pulsar::PeriastronOrder();
arch->add_extension(myio);
myio->organise(arch, ronsub);
}
if (cbpao) {
myio = new Pulsar::BinaryPhaseOrder();
arch->add_extension(myio);
myio->organise(arch, ronsub);
}
if (cblpo) {
myio = new Pulsar::BinLngPeriOrder();
arch->add_extension(myio);
myio->organise(arch, ronsub);
}
if (cblao) {
myio = new Pulsar::BinLngAscOrder();
arch->add_extension(myio);
myio->organise(arch, ronsub);
}
if( subint_extract_start >= 0 && subint_extract_end >= 0 ) {
vector<unsigned> subints;
unsigned isub = subint_extract_start;
while ( isub<arch->get_nsubint() && isub<unsigned(subint_extract_end) ) {
subints.push_back( isub );
isub++;
}
Reference::To<Pulsar::Archive> extracted( arch->extract(subints) );
extracted->set_filename( arch->get_filename() );
arch = extracted;
}
if (tscr) {
if (tsub > 0.0) {
unsigned factor =
unsigned (tsub / arch->get_Integration(0)->get_duration());
if (factor == 0) {
cerr << "Warning: subints already too long" << endl;
}
else {
arch->tscrunch(factor);
}
if (verbose)
cout << arch->get_filename() << " tscrunched by a factor of "
<< factor << endl;
}
else if (new_nsub > 0) {
arch->tscrunch_to_nsub(new_nsub);
if (verbose)
cout << arch->get_filename() << " tscrunched to "
<< new_nsub << " subints" << endl;
}
else if (tscr_fac > 0) {
arch->tscrunch(tscr_fac);
if (verbose)
cout << arch->get_filename() << " tscrunched by a factor of "
<< tscr_fac << endl;
}
else {
arch->tscrunch();
示例4: create_histograms
void psrspa::create_histograms ( Reference::To<Archive> archive )
{
if ( verbose )
cerr << "psrspa::create_histograms entered" << endl;
// ensure Stokes parameters if creating polarisation histograms
if ( create_polar_degree || create_polar_angle )
{
archive->convert_state ( Signal::Stokes );
if ( verbose )
cerr << "psrspa::create_histograms converted state of the archive to Stokes" << endl;
}
// auxillary vectors
//vector< Estimate<float > > aux_vec_f;
vector< Estimate<double > > aux_vec_d;
// Full Stokes profile
Reference::To<PolnProfile> profile;
// Polarized flux
Reference::To<Profile> P;
P = new Profile;
// Total flux
float *T_amps = new float [ nbin ];
float *P_amps = new float [ nbin ];
unsigned bin_min, bin_max;
if ( verbose && max_bscrunch > 1 )
cerr << "psrspa::create_histograms entering the bscrunch loop for the " << archive->get_filename () << " archive" << endl;
// TODO Uh, this should be fixed up. The first idea was to enable the phase resolved histograms to be bscrunch-aware as well, but I think it doesn't make much sense so I decided to keep only the max flux bscrunch aware. This can be done much more neatly probably in such a case
for ( current_bscrunch = 1 ; current_bscrunch <= max_bscrunch ; current_bscrunch *= 2 )
{
// in each passage, we bscrunch by a factor of 2
if ( current_bscrunch > 1 )
{
if ( verbose )
cerr << "psrspa::create_histograms bscrunching the archive " << archive->get_filename () << " by a factor of 2" << endl;
archive->bscrunch ( 2 );
}
if ( verbose )
cerr << "psrspa::create_histograms entering the loop through subints of the " << archive->get_filename () << " archive" << endl;
// loop through subints
for ( unsigned isub = 0; isub < archive->get_nsubint (); isub++ )
{
if ( verbose )
cerr << "psrspa::create_histograms creating necessary profiles for subint " << isub << " of " << archive->get_filename () << endl;
if ( create_polar_angle || create_polar_degree && current_bscrunch == 1 )
{
profile = archive->get_Integration(isub)->new_PolnProfile(0);
if ( verbose )
cerr << "psrspa::create_histograms retrieved PolnProfile for subint " << isub << " of " << archive->get_filename () << endl;
}
if ( create_polar_angle && current_bscrunch == 1 )
{
profile->get_orientation ( aux_vec_d, 0 );
if ( verbose )
cerr << "psrspa::create_histograms retrieved polarisation angle for subint " << isub << " of " << archive->get_filename () << endl;
}
if ( create_polar_degree || create_flux || find_max_amp_in_range )
{
stats.set_profile ( archive->get_Profile ( isub, 0, 0 ) );
b_sigma = sqrt ( stats.get_baseline_variance ().get_value () );
T_amps = archive->get_Profile ( isub, 0, 0 )->get_amps ();
if ( verbose )
cerr << "psrspa::create_histograms retrieved total flux amps for subint " << isub << " of " << archive->get_filename () << endl;
if ( create_polar_degree && current_bscrunch == 1 )
{
profile->get_polarized ( P );
if ( verbose )
cerr << "psrspa::create_histograms retrieved polarized flux profile for subint " << isub << " of " << archive->get_filename () << endl;
P_amps = P->get_amps ();
if ( verbose )
cerr << "psrspa::create_histograms retrieved polarized flux amps for subint " << isub << " of " << archive->get_filename () << endl;
}
}
if ( verbose )
cerr << "psrspa::create_histograms looping through the provided phase ranges for subint " << isub << " of " << archive->get_filename () << endl;
unsigned curr_hist = 0;
// loop through phase ranges
for ( unsigned irange = 0; irange < phase_range.size () ; irange++ )
{
if ( irange%2 == 0)
{
bin_min = unsigned( floor ( phase_range[irange] * float(nbin / current_bscrunch ) + 0.5 ) );
if ( verbose )
cerr << "psrspa::create_histograms set minimal bin to " << bin_min << endl;
}
else
{
bin_max = unsigned( floor ( phase_range[irange] * float(nbin / current_bscrunch ) + 0.5 ) );
if ( bin_max == nbin )
bin_max = nbin - 1 ;
if ( verbose )
cerr << "psrspa::create_histograms set maximum bin to " << bin_max << endl;
// loop through bins in the given phase range
for ( unsigned ibin = bin_min; ibin <= bin_max; ibin++ )
{
if ( create_polar_angle && current_bscrunch == 1 )
{
//.........这里部分代码省略.........