00001 #ifndef FWCore_ParameterSet_ParameterSet_h
00002 #define FWCore_ParameterSet_ParameterSet_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "DataFormats/Provenance/interface/ParameterSetID.h"
00015 #include "FWCore/ParameterSet/interface/Entry.h"
00016 #include "FWCore/ParameterSet/interface/FileInPath.h"
00017 #include "FWCore/ParameterSet/interface/ParameterSetEntry.h"
00018 #include "FWCore/ParameterSet/interface/VParameterSetEntry.h"
00019
00020 #include <iosfwd>
00021 #include <map>
00022 #include <memory>
00023 #include <string>
00024 #include <vector>
00025
00026
00027
00028
00029 namespace edm {
00030 typedef std::vector<ParameterSet> VParameterSet;
00031
00032 class ParameterSet {
00033 public:
00034 enum Bool {
00035 False = 0,
00036 True = 1,
00037 Unknown = 2
00038 };
00039
00040
00041 ParameterSet();
00042
00043
00044 explicit ParameterSet(std::string const& rep);
00045
00046
00047 ParameterSet(std::string const& rep, ParameterSetID const& id);
00048
00049 ~ParameterSet();
00050
00051
00052 ParameterSet(ParameterSet const& other);
00053
00054 ParameterSet const& operator=(ParameterSet const& other);
00055
00056 void swap(ParameterSet& other);
00057
00058
00059 ParameterSetID id() const;
00060 void setID(ParameterSetID const& id) const;
00061 bool isRegistered() const {return id_.isValid();}
00062 ParameterSetID trackedID() const {return id();}
00063
00064
00065 Entry const& retrieve(char const*) const;
00066 Entry const& retrieve(std::string const&) const;
00067 Entry const* const retrieveUntracked(char const*) const;
00068 Entry const* const retrieveUntracked(std::string const&) const;
00069 Entry const* const retrieveUnknown(char const*) const;
00070 Entry const* const retrieveUnknown(std::string const&) const;
00071 ParameterSetEntry const& retrieveParameterSet(std::string const&) const;
00072 ParameterSetEntry const* const retrieveUntrackedParameterSet(std::string const&) const;
00073 ParameterSetEntry const* const retrieveUnknownParameterSet(std::string const&) const;
00074 VParameterSetEntry const& retrieveVParameterSet(std::string const&) const;
00075 VParameterSetEntry const* const retrieveUntrackedVParameterSet(std::string const&) const;
00076 VParameterSetEntry const* const retrieveUnknownVParameterSet(std::string const&) const;
00077
00078 void insertParameterSet(bool okay_to_replace, std::string const& name, ParameterSetEntry const& entry);
00079 void insertVParameterSet(bool okay_to_replace, std::string const& name, VParameterSetEntry const& entry);
00080 void insert(bool ok_to_replace, char const* , Entry const&);
00081 void insert(bool ok_to_replace, std::string const&, Entry const&);
00082 void augment(ParameterSet const& from);
00083 void copyFrom(ParameterSet const& from, std::string const& name);
00084 std::string getParameterAsString(std::string const& name) const;
00085
00086
00087 std::string toString() const;
00088 void toString(std::string& result) const;
00089
00090
00091 void allToString(std::string& result) const;
00092
00093 template<typename T>
00094 T
00095 getParameter(std::string const&) const;
00096
00097 template<typename T>
00098 T
00099 getParameter(char const*) const;
00100
00101 ParameterSet const&
00102 getParameterSet(std::string const&) const;
00103
00104 ParameterSet const&
00105 getParameterSet(char const*) const;
00106
00107 ParameterSet const&
00108 getUntrackedParameterSet(std::string const& name, ParameterSet const& defaultValue) const;
00109
00110 ParameterSet const&
00111 getUntrackedParameterSet(char const* name, ParameterSet const& defaultValue) const;
00112
00113 ParameterSet const&
00114 getUntrackedParameterSet(std::string const& name) const;
00115
00116 ParameterSet const&
00117 getUntrackedParameterSet(char const* name) const;
00118
00119 VParameterSet const&
00120 getParameterSetVector(std::string const& name) const;
00121
00122 VParameterSet const&
00123 getParameterSetVector(char const* name) const;
00124
00125 VParameterSet const&
00126 getUntrackedParameterSetVector(std::string const& name, VParameterSet const& defaultValue) const;
00127
00128 VParameterSet const&
00129 getUntrackedParameterSetVector(char const* name, VParameterSet const& defaultValue) const;
00130
00131 VParameterSet const&
00132 getUntrackedParameterSetVector(std::string const& name) const;
00133
00134 VParameterSet const&
00135 getUntrackedParameterSetVector(char const* name) const;
00136
00137 template<typename T>
00138 void
00139 addParameter(std::string const& name, T const& value) {
00140 invalidateRegistration(name);
00141 insert(true, name, Entry(name, value, true));
00142 }
00143
00144 template<typename T>
00145 void
00146 addParameter(char const* name, T const& value) {
00147 invalidateRegistration(name);
00148 insert(true, name, Entry(name, value, true));
00149 }
00150
00151 template<typename T>
00152 T
00153 getUntrackedParameter(std::string const&, T const&) const;
00154
00155 template<typename T>
00156 T
00157 getUntrackedParameter(char const*, T const&) const;
00158
00159 template<typename T>
00160 T
00161 getUntrackedParameter(std::string const&) const;
00162
00163 template<typename T>
00164 T
00165 getUntrackedParameter(char const*) const;
00166
00171 std::vector<FileInPath>::size_type
00172 getAllFileInPaths(std::vector<FileInPath>& output) const;
00173
00174 std::vector<std::string> getParameterNames() const;
00175
00177 bool exists(std::string const& parameterName) const;
00178
00180 template<typename T>
00181 bool existsAs(std::string const& parameterName, bool trackiness=true) const {
00182 std::vector<std::string> names = getParameterNamesForType<T>(trackiness);
00183 return std::find(names.begin(), names.end(), parameterName) != names.end();
00184 }
00185
00186 void deprecatedInputTagWarning(std::string const& name, std::string const& label) const;
00187
00188 template<typename T>
00189 std::vector<std::string> getParameterNamesForType(bool trackiness = true) const {
00190 std::vector<std::string> result;
00191
00192
00193 T value = T();
00194 Entry type_translator("", value, trackiness);
00195 char type_code = type_translator.typeCode();
00196
00197 (void)getNamesByCode_(type_code, trackiness, result);
00198 return result;
00199 }
00200
00201 template<typename T>
00202 void
00203 addUntrackedParameter(std::string const& name, T const& value) {
00204 insert(true, name, Entry(name, value, false));
00205 }
00206
00207 template<typename T>
00208 void
00209 addUntrackedParameter(char const* name, T const& value) {
00210 insert(true, name, Entry(name, value, false));
00211 }
00212
00213 bool empty() const {
00214 return tbl_.empty() && psetTable_.empty() && vpsetTable_.empty();
00215 }
00216
00217 ParameterSet trackedPart() const;
00218
00219
00220
00221
00222
00223
00224 size_t getParameterSetNames(std::vector<std::string>& output,
00225 bool trackiness = true) const;
00226 size_t getParameterSetNames(std::vector<std::string>& output);
00227
00228
00229
00230
00231
00232 size_t getParameterSetVectorNames(std::vector<std::string>& output,
00233 bool trackiness=true) const;
00234
00235
00236 std::string dump() const;
00237
00238 friend std::ostream& operator << (std::ostream& os, ParameterSet const& pset);
00239
00240 ParameterSet const& registerIt();
00241
00242 std::auto_ptr<ParameterSet> popParameterSet(std::string const& name);
00243
00244 std::auto_ptr<std::vector<ParameterSet> > popVParameterSet(std::string const& name);
00245
00246 typedef std::map<std::string, Entry> table;
00247 table const& tbl() const {return tbl_;}
00248
00249 typedef std::map<std::string, ParameterSetEntry> psettable;
00250 psettable const& psetTable() const {return psetTable_;}
00251
00252 typedef std::map<std::string, VParameterSetEntry> vpsettable;
00253 vpsettable const& vpsetTable() const {return vpsetTable_;}
00254
00255 ParameterSet*
00256 getPSetForUpdate(std::string const& name, bool& isTracked);
00257
00258 ParameterSet*
00259 getPSetForUpdate(std::string const& name) {
00260 bool isTracked = false;
00261 return getPSetForUpdate(name, isTracked);
00262 }
00263
00264 VParameterSetEntry*
00265 getPSetVectorForUpdate(std::string const& name);
00266
00267 private:
00268
00269 bool fromString(std::string const&);
00270
00271 void toStringImp(std::string&, bool useAll) const;
00272
00273 table tbl_;
00274 psettable psetTable_;
00275 vpsettable vpsetTable_;
00276
00277
00278
00279
00280 mutable ParameterSetID id_;
00281
00282 void invalidateRegistration(std::string const& nameOfTracked) const;
00283
00284 void calculateID();
00285
00286
00287
00288 Entry const* getEntryPointerOrThrow_(std::string const& name) const;
00289 Entry const* getEntryPointerOrThrow_(char const* name) const;
00290
00291
00292
00293 size_t getNamesByCode_(char code,
00294 bool trackiness,
00295 std::vector<std::string>& output) const;
00296
00297
00298 };
00299
00300 inline
00301 void swap (ParameterSet& a, ParameterSet& b) {
00302 a.swap(b);
00303 }
00304
00305 bool operator==(ParameterSet const& a, ParameterSet const& b);
00306
00307 bool isTransientEqual(ParameterSet const& a, ParameterSet const& b);
00308
00309 inline
00310 bool
00311 operator!=(ParameterSet const& a, ParameterSet const& b) {
00312 return !(a == b);
00313 }
00314
00315
00316 ParameterSet const&
00317 getParameterSet(ParameterSetID const& id);
00318
00319
00320
00321
00322 template<>
00323 bool
00324 ParameterSet::getParameter<bool>(std::string const& name) const;
00325
00326
00327
00328
00329 template<>
00330 int
00331 ParameterSet::getParameter<int>(std::string const& name) const;
00332
00333 template<>
00334 std::vector<int>
00335 ParameterSet::getParameter<std::vector<int> >(std::string const& name) const;
00336
00337
00338
00339
00340 template<>
00341 long long
00342 ParameterSet::getParameter<long long>(std::string const& name) const;
00343
00344 template<>
00345 std::vector<long long>
00346 ParameterSet::getParameter<std::vector<long long> >(std::string const& name) const;
00347
00348
00349
00350
00351 template<>
00352 unsigned int
00353 ParameterSet::getParameter<unsigned int>(std::string const& name) const;
00354
00355 template<>
00356 std::vector<unsigned int>
00357 ParameterSet::getParameter<std::vector<unsigned int> >(std::string const& name) const;
00358
00359
00360
00361
00362 template<>
00363 unsigned long long
00364 ParameterSet::getParameter<unsigned long long>(std::string const& name) const;
00365
00366 template<>
00367 std::vector<unsigned long long>
00368 ParameterSet::getParameter<std::vector<unsigned long long> >(std::string const& name) const;
00369
00370
00371
00372
00373 template<>
00374 double
00375 ParameterSet::getParameter<double>(std::string const& name) const;
00376
00377 template<>
00378 std::vector<double>
00379 ParameterSet::getParameter<std::vector<double> >(std::string const& name) const;
00380
00381
00382
00383
00384 template<>
00385 std::string
00386 ParameterSet::getParameter<std::string>(std::string const& name) const;
00387
00388 template<>
00389 std::vector<std::string>
00390 ParameterSet::getParameter<std::vector<std::string> >(std::string const& name) const;
00391
00392
00393
00394
00395 template<>
00396 FileInPath
00397 ParameterSet::getParameter<FileInPath>(std::string const& name) const;
00398
00399
00400
00401 template<>
00402 std::vector<std::string>
00403 ParameterSet::getParameterNamesForType<FileInPath>(bool trackiness) const;
00404
00405
00406
00407
00408 template<>
00409 InputTag
00410 ParameterSet::getParameter<InputTag>(std::string const& name) const;
00411
00412
00413
00414
00415 template<>
00416 std::vector<InputTag>
00417 ParameterSet::getParameter<std::vector<InputTag> >(std::string const& name) const;
00418
00419
00420
00421
00422 template<>
00423 ESInputTag
00424 ParameterSet::getParameter<ESInputTag>(std::string const& name) const;
00425
00426
00427
00428
00429 template<>
00430 std::vector<ESInputTag>
00431 ParameterSet::getParameter<std::vector<ESInputTag> >(std::string const& name) const;
00432
00433
00434
00435
00436 template<>
00437 EventID
00438 ParameterSet::getParameter<EventID>(std::string const& name) const;
00439
00440
00441
00442
00443 template<>
00444 std::vector<EventID>
00445 ParameterSet::getParameter<std::vector<EventID> >(std::string const& name) const;
00446
00447
00448
00449
00450 template<>
00451 LuminosityBlockID
00452 ParameterSet::getParameter<LuminosityBlockID>(std::string const& name) const;
00453
00454
00455
00456
00457 template<>
00458 std::vector<LuminosityBlockID>
00459 ParameterSet::getParameter<std::vector<LuminosityBlockID> >(std::string const& name) const;
00460
00461
00462
00463
00464 template<>
00465 EventRange
00466 ParameterSet::getParameter<EventRange>(std::string const& name) const;
00467
00468
00469
00470
00471 template<>
00472 std::vector<EventRange>
00473 ParameterSet::getParameter<std::vector<EventRange> >(std::string const& name) const;
00474
00475
00476
00477
00478 template<>
00479 LuminosityBlockRange
00480 ParameterSet::getParameter<LuminosityBlockRange>(std::string const& name) const;
00481
00482
00483
00484
00485 template<>
00486 std::vector<LuminosityBlockRange>
00487 ParameterSet::getParameter<std::vector<LuminosityBlockRange> >(std::string const& name) const;
00488
00489
00490
00491
00492 template<>
00493 ParameterSet
00494 ParameterSet::getParameter<ParameterSet>(std::string const& name) const;
00495
00496 template<>
00497 VParameterSet
00498 ParameterSet::getParameter<VParameterSet>(std::string const& name) const;
00499
00500 template<>
00501 void
00502 ParameterSet::addParameter<ParameterSet>(std::string const& name, ParameterSet const& value);
00503
00504 template<>
00505 void
00506 ParameterSet::addParameter<ParameterSet>(char const* name, ParameterSet const& value);
00507
00508 template<>
00509 void
00510 ParameterSet::addUntrackedParameter<ParameterSet>(std::string const& name, ParameterSet const& value);
00511
00512 template<>
00513 void
00514 ParameterSet::addUntrackedParameter<ParameterSet>(char const* name, ParameterSet const& value);
00515
00516 template<>
00517 void
00518 ParameterSet::addParameter<VParameterSet>(std::string const& name, VParameterSet const& value);
00519
00520 template<>
00521 void
00522 ParameterSet::addParameter<VParameterSet>(char const* name, VParameterSet const& value);
00523
00524 template<>
00525 void
00526 ParameterSet::addUntrackedParameter<VParameterSet>(std::string const& name, VParameterSet const& value);
00527
00528 template<>
00529 void
00530 ParameterSet::addUntrackedParameter<VParameterSet>(char const* name, VParameterSet const& value);
00531
00532
00533
00534
00535
00536
00537 template<>
00538 bool
00539 ParameterSet::getUntrackedParameter<bool>(std::string const& name, bool const& defaultValue) const;
00540
00541 template<>
00542 bool
00543 ParameterSet::getUntrackedParameter<bool>(std::string const& name) const;
00544
00545
00546
00547
00548 template<>
00549 int
00550 ParameterSet::getUntrackedParameter<int>(std::string const& name, int const& defaultValue) const;
00551
00552 template<>
00553 int
00554 ParameterSet::getUntrackedParameter<int>(std::string const& name) const;
00555
00556 template<>
00557 std::vector<int>
00558 ParameterSet::getUntrackedParameter<std::vector<int> >(std::string const& name, std::vector<int> const& defaultValue) const;
00559
00560 template<>
00561 std::vector<int>
00562 ParameterSet::getUntrackedParameter<std::vector<int> >(std::string const& name) const;
00563
00564
00565
00566
00567 template<>
00568 unsigned int
00569 ParameterSet::getUntrackedParameter<unsigned int>(std::string const& name, unsigned int const& defaultValue) const;
00570
00571 template<>
00572 unsigned int
00573 ParameterSet::getUntrackedParameter<unsigned int>(std::string const& name) const;
00574
00575 template<>
00576 std::vector<unsigned int>
00577 ParameterSet::getUntrackedParameter<std::vector<unsigned int> >(std::string const& name, std::vector<unsigned int> const& defaultValue) const;
00578
00579 template<>
00580 std::vector<unsigned int>
00581 ParameterSet::getUntrackedParameter<std::vector<unsigned int> >(std::string const& name) const;
00582
00583
00584
00585
00586 template<>
00587 unsigned long long
00588 ParameterSet::getUntrackedParameter<unsigned long long>(std::string const& name, unsigned long long const& defaultValue) const;
00589
00590 template<>
00591 unsigned long long
00592 ParameterSet::getUntrackedParameter<unsigned long long>(std::string const& name) const;
00593
00594 template<>
00595 std::vector<unsigned long long>
00596 ParameterSet::getUntrackedParameter<std::vector<unsigned long long> >(std::string const& name, std::vector<unsigned long long> const& defaultValue) const;
00597
00598 template<>
00599 std::vector<unsigned long long>
00600 ParameterSet::getUntrackedParameter<std::vector<unsigned long long> >(std::string const& name) const;
00601
00602
00603
00604
00605 template<>
00606 long long
00607 ParameterSet::getUntrackedParameter<long long>(std::string const& name, long long const& defaultValue) const;
00608
00609 template<>
00610 long long
00611 ParameterSet::getUntrackedParameter<long long>(std::string const& name) const;
00612
00613 template<>
00614 std::vector<long long>
00615 ParameterSet::getUntrackedParameter<std::vector<long long> >(std::string const& name, std::vector<long long> const& defaultValue) const;
00616
00617 template<>
00618 std::vector<long long>
00619 ParameterSet::getUntrackedParameter<std::vector<long long> >(std::string const& name) const;
00620
00621
00622
00623
00624 template<>
00625 double
00626 ParameterSet::getUntrackedParameter<double>(std::string const& name, double const& defaultValue) const;
00627
00628 template<>
00629 double
00630 ParameterSet::getUntrackedParameter<double>(std::string const& name) const;
00631
00632 template<>
00633 std::vector<double>
00634 ParameterSet::getUntrackedParameter<std::vector<double> >(std::string const& name, std::vector<double> const& defaultValue) const;
00635
00636 template<>
00637 std::vector<double>
00638 ParameterSet::getUntrackedParameter<std::vector<double> >(std::string const& name) const;
00639
00640
00641
00642
00643 template<>
00644 std::string
00645 ParameterSet::getUntrackedParameter<std::string>(std::string const& name, std::string const& defaultValue) const;
00646
00647 template<>
00648 std::string
00649 ParameterSet::getUntrackedParameter<std::string>(std::string const& name) const;
00650
00651 template<>
00652 std::vector<std::string>
00653 ParameterSet::getUntrackedParameter<std::vector<std::string> >(std::string const& name, std::vector<std::string> const& defaultValue) const;
00654
00655 template<>
00656 std::vector<std::string>
00657 ParameterSet::getUntrackedParameter<std::vector<std::string> >(std::string const& name) const;
00658
00659
00660
00661
00662 template<>
00663 FileInPath
00664 ParameterSet::getUntrackedParameter<FileInPath>(std::string const& name, FileInPath const& defaultValue) const;
00665
00666 template<>
00667 FileInPath
00668 ParameterSet::getUntrackedParameter<FileInPath>(std::string const& name) const;
00669
00670
00671
00672
00673 template<>
00674 InputTag
00675 ParameterSet::getUntrackedParameter<InputTag>(std::string const& name, InputTag const& defaultValue) const;
00676
00677 template<>
00678 InputTag
00679 ParameterSet::getUntrackedParameter<InputTag>(std::string const& name) const;
00680
00681 template<>
00682 std::vector<InputTag>
00683 ParameterSet::getUntrackedParameter<std::vector<InputTag> >(std::string const& name,
00684 std::vector<InputTag> const& defaultValue) const;
00685
00686 template<>
00687 std::vector<InputTag>
00688 ParameterSet::getUntrackedParameter<std::vector<InputTag> >(std::string const& name) const;
00689
00690
00691
00692
00693 template<>
00694 EventID
00695 ParameterSet::getUntrackedParameter<EventID>(std::string const& name, EventID const& defaultValue) const;
00696
00697 template<>
00698 EventID
00699 ParameterSet::getUntrackedParameter<EventID>(std::string const& name) const;
00700
00701 template<>
00702 std::vector<EventID>
00703 ParameterSet::getUntrackedParameter<std::vector<EventID> >(std::string const& name,
00704 std::vector<EventID> const& defaultValue) const;
00705 template<>
00706 std::vector<EventID>
00707 ParameterSet::getUntrackedParameter<std::vector<EventID> >(std::string const& name) const;
00708
00709
00710
00711
00712 template<>
00713 LuminosityBlockID
00714 ParameterSet::getUntrackedParameter<LuminosityBlockID>(std::string const& name, LuminosityBlockID const& defaultValue) const;
00715
00716 template<>
00717 LuminosityBlockID
00718 ParameterSet::getUntrackedParameter<LuminosityBlockID>(std::string const& name) const;
00719
00720 template<>
00721 std::vector<LuminosityBlockID>
00722 ParameterSet::getUntrackedParameter<std::vector<LuminosityBlockID> >(std::string const& name,
00723 std::vector<LuminosityBlockID> const& defaultValue) const;
00724 template<>
00725 std::vector<LuminosityBlockID>
00726 ParameterSet::getUntrackedParameter<std::vector<LuminosityBlockID> >(std::string const& name) const;
00727
00728
00729
00730
00731 template<>
00732 EventRange
00733 ParameterSet::getUntrackedParameter<EventRange>(std::string const& name, EventRange const& defaultValue) const;
00734
00735 template<>
00736 EventRange
00737 ParameterSet::getUntrackedParameter<EventRange>(std::string const& name) const;
00738
00739 template<>
00740 std::vector<EventRange>
00741 ParameterSet::getUntrackedParameter<std::vector<EventRange> >(std::string const& name,
00742 std::vector<EventRange> const& defaultValue) const;
00743 template<>
00744 std::vector<EventRange>
00745 ParameterSet::getUntrackedParameter<std::vector<EventRange> >(std::string const& name) const;
00746
00747
00748
00749
00750 template<>
00751 LuminosityBlockRange
00752 ParameterSet::getUntrackedParameter<LuminosityBlockRange>(std::string const& name, LuminosityBlockRange const& defaultValue) const;
00753
00754 template<>
00755 LuminosityBlockRange
00756 ParameterSet::getUntrackedParameter<LuminosityBlockRange>(std::string const& name) const;
00757
00758 template<>
00759 std::vector<LuminosityBlockRange>
00760 ParameterSet::getUntrackedParameter<std::vector<LuminosityBlockRange> >(std::string const& name,
00761 std::vector<LuminosityBlockRange> const& defaultValue) const;
00762 template<>
00763 std::vector<LuminosityBlockRange>
00764 ParameterSet::getUntrackedParameter<std::vector<LuminosityBlockRange> >(std::string const& name) const;
00765
00766
00767
00768
00769
00770 template<>
00771 bool
00772 ParameterSet::getParameter<bool>(char const* name) const;
00773
00774
00775
00776
00777 template<>
00778 int
00779 ParameterSet::getParameter<int>(char const* name) const;
00780
00781 template<>
00782 std::vector<int>
00783 ParameterSet::getParameter<std::vector<int> >(char const* name) const;
00784
00785
00786
00787
00788 template<>
00789 long long
00790 ParameterSet::getParameter<long long>(char const* name) const;
00791
00792 template<>
00793 std::vector<long long>
00794 ParameterSet::getParameter<std::vector<long long> >(char const* name) const;
00795
00796
00797
00798
00799 template<>
00800 unsigned int
00801 ParameterSet::getParameter<unsigned int>(char const* name) const;
00802
00803 template<>
00804 std::vector<unsigned int>
00805 ParameterSet::getParameter<std::vector<unsigned int> >(char const* name) const;
00806
00807
00808
00809
00810 template<>
00811 unsigned long long
00812 ParameterSet::getParameter<unsigned long long>(char const* name) const;
00813
00814 template<>
00815 std::vector<unsigned long long>
00816 ParameterSet::getParameter<std::vector<unsigned long long> >(char const* name) const;
00817
00818
00819
00820
00821 template<>
00822 double
00823 ParameterSet::getParameter<double>(char const* name) const;
00824
00825 template<>
00826 std::vector<double>
00827 ParameterSet::getParameter<std::vector<double> >(char const* name) const;
00828
00829
00830
00831
00832 template<>
00833 std::string
00834 ParameterSet::getParameter<std::string>(char const* name) const;
00835
00836 template<>
00837 std::vector<std::string>
00838 ParameterSet::getParameter<std::vector<std::string> >(char const* name) const;
00839
00840
00841
00842
00843 template<>
00844 FileInPath
00845 ParameterSet::getParameter<FileInPath>(char const* name) const;
00846
00847
00848
00849
00850 template<>
00851 InputTag
00852 ParameterSet::getParameter<InputTag>(char const* name) const;
00853
00854
00855
00856
00857 template<>
00858 std::vector<InputTag>
00859 ParameterSet::getParameter<std::vector<InputTag> >(char const* name) const;
00860
00861
00862
00863
00864 template<>
00865 EventID
00866 ParameterSet::getParameter<EventID>(char const* name) const;
00867
00868
00869
00870
00871 template<>
00872 std::vector<EventID>
00873 ParameterSet::getParameter<std::vector<EventID> >(char const* name) const;
00874
00875
00876
00877
00878 template<>
00879 LuminosityBlockID
00880 ParameterSet::getParameter<LuminosityBlockID>(char const* name) const;
00881
00882
00883
00884
00885 template<>
00886 std::vector<LuminosityBlockID>
00887 ParameterSet::getParameter<std::vector<LuminosityBlockID> >(char const* name) const;
00888
00889
00890
00891
00892 template<>
00893 EventRange
00894 ParameterSet::getParameter<EventRange>(char const* name) const;
00895
00896
00897
00898
00899 template<>
00900 std::vector<EventRange>
00901 ParameterSet::getParameter<std::vector<EventRange> >(char const* name) const;
00902
00903
00904
00905
00906 template<>
00907 LuminosityBlockRange
00908 ParameterSet::getParameter<LuminosityBlockRange>(char const* name) const;
00909
00910
00911
00912
00913 template<>
00914 std::vector<LuminosityBlockRange>
00915 ParameterSet::getParameter<std::vector<LuminosityBlockRange> >(char const* name) const;
00916
00917
00918
00919
00920 template<>
00921 ParameterSet
00922 ParameterSet::getParameter<ParameterSet>(char const* name) const;
00923
00924 template<>
00925 VParameterSet
00926 ParameterSet::getParameter<VParameterSet>(char const* name) const;
00927
00928
00929
00930
00931
00932
00933 template<>
00934 bool
00935 ParameterSet::getUntrackedParameter<bool>(char const* name, bool const& defaultValue) const;
00936
00937 template<>
00938 bool
00939 ParameterSet::getUntrackedParameter<bool>(char const* name) const;
00940
00941
00942
00943
00944 template<>
00945 int
00946 ParameterSet::getUntrackedParameter<int>(char const* name, int const& defaultValue) const;
00947
00948 template<>
00949 int
00950 ParameterSet::getUntrackedParameter<int>(char const* name) const;
00951
00952 template<>
00953 std::vector<int>
00954 ParameterSet::getUntrackedParameter<std::vector<int> >(char const* name, std::vector<int> const& defaultValue) const;
00955
00956 template<>
00957 std::vector<int>
00958 ParameterSet::getUntrackedParameter<std::vector<int> >(char const* name) const;
00959
00960
00961
00962
00963 template<>
00964 unsigned int
00965 ParameterSet::getUntrackedParameter<unsigned int>(char const* name, unsigned int const& defaultValue) const;
00966
00967 template<>
00968 unsigned int
00969 ParameterSet::getUntrackedParameter<unsigned int>(char const* name) const;
00970
00971 template<>
00972 std::vector<unsigned int>
00973 ParameterSet::getUntrackedParameter<std::vector<unsigned int> >(char const* name, std::vector<unsigned int> const& defaultValue) const;
00974
00975 template<>
00976 std::vector<unsigned int>
00977 ParameterSet::getUntrackedParameter<std::vector<unsigned int> >(char const* name) const;
00978
00979
00980
00981
00982 template<>
00983 unsigned long long
00984 ParameterSet::getUntrackedParameter<unsigned long long>(char const* name, unsigned long long const& defaultValue) const;
00985
00986 template<>
00987 unsigned long long
00988 ParameterSet::getUntrackedParameter<unsigned long long>(char const* name) const;
00989
00990 template<>
00991 std::vector<unsigned long long>
00992 ParameterSet::getUntrackedParameter<std::vector<unsigned long long> >(char const* name, std::vector<unsigned long long> const& defaultValue) const;
00993
00994 template<>
00995 std::vector<unsigned long long>
00996 ParameterSet::getUntrackedParameter<std::vector<unsigned long long> >(char const* name) const;
00997
00998
00999
01000
01001 template<>
01002 long long
01003 ParameterSet::getUntrackedParameter<long long>(char const* name, long long const& defaultValue) const;
01004
01005 template<>
01006 long long
01007 ParameterSet::getUntrackedParameter<long long>(char const* name) const;
01008
01009 template<>
01010 std::vector<long long>
01011 ParameterSet::getUntrackedParameter<std::vector<long long> >(char const* name, std::vector<long long> const& defaultValue) const;
01012
01013 template<>
01014 std::vector<long long>
01015 ParameterSet::getUntrackedParameter<std::vector<long long> >(char const* name) const;
01016
01017
01018
01019
01020 template<>
01021 double
01022 ParameterSet::getUntrackedParameter<double>(char const* name, double const& defaultValue) const;
01023
01024 template<>
01025 double
01026 ParameterSet::getUntrackedParameter<double>(char const* name) const;
01027
01028 template<>
01029 std::vector<double>
01030 ParameterSet::getUntrackedParameter<std::vector<double> >(char const* name, std::vector<double> const& defaultValue) const;
01031
01032 template<>
01033 std::vector<double>
01034 ParameterSet::getUntrackedParameter<std::vector<double> >(char const* name) const;
01035
01036
01037
01038
01039 template<>
01040 std::string
01041 ParameterSet::getUntrackedParameter<std::string>(char const* name, std::string const& defaultValue) const;
01042
01043 template<>
01044 std::string
01045 ParameterSet::getUntrackedParameter<std::string>(char const* name) const;
01046
01047 template<>
01048 std::vector<std::string>
01049 ParameterSet::getUntrackedParameter<std::vector<std::string> >(char const* name, std::vector<std::string> const& defaultValue) const;
01050
01051 template<>
01052 std::vector<std::string>
01053 ParameterSet::getUntrackedParameter<std::vector<std::string> >(char const* name) const;
01054
01055
01056
01057
01058 template<>
01059 FileInPath
01060 ParameterSet::getUntrackedParameter<FileInPath>(char const* name, FileInPath const& defaultValue) const;
01061
01062 template<>
01063 FileInPath
01064 ParameterSet::getUntrackedParameter<FileInPath>(char const* name) const;
01065
01066
01067
01068
01069 template<>
01070 InputTag
01071 ParameterSet::getUntrackedParameter<InputTag>(char const* name, InputTag const& defaultValue) const;
01072
01073 template<>
01074 InputTag
01075 ParameterSet::getUntrackedParameter<InputTag>(char const* name) const;
01076
01077 template<>
01078 std::vector<InputTag>
01079 ParameterSet::getUntrackedParameter<std::vector<InputTag> >(char const* name,
01080 std::vector<InputTag> const& defaultValue) const;
01081
01082 template<>
01083 std::vector<InputTag>
01084 ParameterSet::getUntrackedParameter<std::vector<InputTag> >(char const* name) const;
01085
01086
01087
01088
01089 template<>
01090 EventID
01091 ParameterSet::getUntrackedParameter<EventID>(char const* name, EventID const& defaultValue) const;
01092
01093 template<>
01094 EventID
01095 ParameterSet::getUntrackedParameter<EventID>(char const* name) const;
01096
01097 template<>
01098 std::vector<EventID>
01099 ParameterSet::getUntrackedParameter<std::vector<EventID> >(char const* name,
01100 std::vector<EventID> const& defaultValue) const;
01101 template<>
01102 std::vector<EventID>
01103 ParameterSet::getUntrackedParameter<std::vector<EventID> >(char const* name) const;
01104
01105
01106
01107
01108 template<>
01109 LuminosityBlockID
01110 ParameterSet::getUntrackedParameter<LuminosityBlockID>(char const* name, LuminosityBlockID const& defaultValue) const;
01111
01112 template<>
01113 LuminosityBlockID
01114 ParameterSet::getUntrackedParameter<LuminosityBlockID>(char const* name) const;
01115
01116 template<>
01117 std::vector<LuminosityBlockID>
01118 ParameterSet::getUntrackedParameter<std::vector<LuminosityBlockID> >(char const* name,
01119 std::vector<LuminosityBlockID> const& defaultValue) const;
01120 template<>
01121 std::vector<LuminosityBlockID>
01122 ParameterSet::getUntrackedParameter<std::vector<LuminosityBlockID> >(char const* name) const;
01123
01124
01125
01126
01127 template<>
01128 EventRange
01129 ParameterSet::getUntrackedParameter<EventRange>(char const* name, EventRange const& defaultValue) const;
01130
01131 template<>
01132 EventRange
01133 ParameterSet::getUntrackedParameter<EventRange>(char const* name) const;
01134
01135 template<>
01136 std::vector<EventRange>
01137 ParameterSet::getUntrackedParameter<std::vector<EventRange> >(char const* name,
01138 std::vector<EventRange> const& defaultValue) const;
01139 template<>
01140 std::vector<EventRange>
01141 ParameterSet::getUntrackedParameter<std::vector<EventRange> >(char const* name) const;
01142
01143
01144
01145
01146 template<>
01147 LuminosityBlockRange
01148 ParameterSet::getUntrackedParameter<LuminosityBlockRange>(char const* name, LuminosityBlockRange const& defaultValue) const;
01149
01150 template<>
01151 LuminosityBlockRange
01152 ParameterSet::getUntrackedParameter<LuminosityBlockRange>(char const* name) const;
01153
01154 template<>
01155 std::vector<LuminosityBlockRange>
01156 ParameterSet::getUntrackedParameter<std::vector<LuminosityBlockRange> >(char const* name,
01157 std::vector<LuminosityBlockRange> const& defaultValue) const;
01158 template<>
01159 std::vector<LuminosityBlockRange>
01160 ParameterSet::getUntrackedParameter<std::vector<LuminosityBlockRange> >(char const* name) const;
01161
01162
01163
01164
01165 template<>
01166 ParameterSet
01167 ParameterSet::getUntrackedParameter<ParameterSet>(char const* name, ParameterSet const& defaultValue) const;
01168
01169 template<>
01170 ParameterSet
01171 ParameterSet::getUntrackedParameter<ParameterSet>(std::string const& name, ParameterSet const& defaultValue) const;
01172
01173 template<>
01174 ParameterSet
01175 ParameterSet::getUntrackedParameter<ParameterSet>(char const* name) const;
01176
01177 template<>
01178 ParameterSet
01179 ParameterSet::getUntrackedParameter<ParameterSet>(std::string const& name) const;
01180
01181 template<>
01182 VParameterSet
01183 ParameterSet::getUntrackedParameter<VParameterSet>(char const* name, VParameterSet const& defaultValue) const;
01184
01185 template<>
01186 VParameterSet
01187 ParameterSet::getUntrackedParameter<VParameterSet>(char const* name) const;
01188
01189 template<>
01190 VParameterSet
01191 ParameterSet::getUntrackedParameter<VParameterSet>(std::string const& name, VParameterSet const& defaultValue) const;
01192
01193 template<>
01194 VParameterSet
01195 ParameterSet::getUntrackedParameter<VParameterSet>(std::string const& name) const;
01196
01197 template<>
01198 std::vector<std::string>
01199 ParameterSet::getParameterNamesForType<ParameterSet>(bool trackiness) const;
01200
01201 template<>
01202 std::vector<std::string>
01203 ParameterSet::getParameterNamesForType<VParameterSet>(bool trackiness) const;
01204
01205 ParameterSet::Bool
01206 operator&&(ParameterSet::Bool a, ParameterSet::Bool b);
01207
01208 }
01209 #endif