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