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