CMS 3D CMS Logo

Specific.h
Go to the documentation of this file.
1 #ifndef DDI_Specific_h
2 #define DDI_Specific_h
3 
4 #include <iostream>
5 #include <string>
6 #include <utility>
7 #include <vector>
8 
13 
14 class DDExpandedView;
15 class DDLogicalPart;
16 class DDPartSelection;
17 
18 namespace DDI {
19 
20  class Specific {
21  public:
22  Specific(const std::vector<std::string> &selections, const DDsvalues_type &specs, bool doRegex = true);
23 
24  Specific(const std::vector<DDPartSelection> &selections, const DDsvalues_type &specs);
25 
26  const std::vector<DDPartSelection> &selection() const;
27 
28  void updateLogicalPart(
29  std::vector<std::pair<DDLogicalPart, std::pair<const DDPartSelection *, const DDsvalues_type *> > > &) const;
30 
31  void tokenize();
32 
33  const DDsvalues_type &specifics() const { return specifics_; }
34 
36  std::pair<bool, DDExpandedView> node() const;
37 
38  void stream(std::ostream &) const;
39 
40  protected:
41  void createPartSelections(const std::string &selString);
42  void addSelectionLevel(std::vector<DDLogicalPart> &lpv,
43  int copyno,
45  std::vector<DDPartSelection> &selv);
47  std::vector<DDPartSelection> partSelections_;
48  bool valid_;
49  bool doRegex_;
50  };
51 } // namespace DDI
52 
53 #endif // DDI_Specific_h
DDI
Definition: DDCompactView.h:24
HistogramManager_cfi.specs
specs
Definition: HistogramManager_cfi.py:80
DDI::Specific::selection
const std::vector< DDPartSelection > & selection() const
Definition: Specific.cc:87
DDI::Specific::updateLogicalPart
void updateLogicalPart(std::vector< std::pair< DDLogicalPart, std::pair< const DDPartSelection *, const DDsvalues_type * > > > &) const
Definition: Specific.cc:115
DDPartSelection
Definition: DDPartSelection.h:37
DDI::Specific::specifics_
DDsvalues_type specifics_
Definition: Specific.h:46
DDPartSelection.h
DDI::Specific::tokenize
void tokenize()
DDExpandedView
Provides an exploded view of the detector (tree-view)
Definition: DDExpandedView.h:41
DDI::Specific::valid_
bool valid_
Definition: Specific.h:48
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ddselection_type
ddselection_type
Definition: DDPartSelection.h:11
DDI::Specific::specifics
const DDsvalues_type & specifics() const
Definition: Specific.h:33
DDLogicalPart
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
Definition: DDLogicalPart.h:93
DDI::Specific::createPartSelections
void createPartSelections(const std::string &selString)
Definition: Specific.cc:30
DDLogicalPart.h
DDI::Specific::stream
void stream(std::ostream &) const
Definition: Specific.cc:89
DDExpandedView.h
DDI::Specific::partSelections_
std::vector< DDPartSelection > partSelections_
Definition: Specific.h:47
DDI::Specific::doRegex_
bool doRegex_
Definition: Specific.h:49
DDI::Specific::addSelectionLevel
void addSelectionLevel(std::vector< DDLogicalPart > &lpv, int copyno, ddselection_type st, std::vector< DDPartSelection > &selv)
Definition: Specific.cc:59
DDI::Specific::node
std::pair< bool, DDExpandedView > node() const
gives the geometrical history of a fully specified PartSelector
Definition: Specific.cc:138
DDsvalues.h
clusterbigeventsdebugger_cfi.selections
selections
Definition: clusterbigeventsdebugger_cfi.py:10
DDI::Specific
Definition: Specific.h:20
DDI::Specific::Specific
Specific(const std::vector< std::string > &selections, const DDsvalues_type &specs, bool doRegex=true)
Definition: Specific.cc:20
DDsvalues_type
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12