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