CMS 3D CMS Logo

DDLVector.h
Go to the documentation of this file.
1 #ifndef DDL_Vector_H
2 #define DDL_Vector_H
3 
4 #include <map>
5 #include <string>
6 #include <vector>
7 
8 #include "DDXMLElement.h"
12 
13 class DDCompactView;
14 class DDLElementRegistry;
15 
17 
29 class DDLVector final : public DDXMLElement {
30 public:
32 
33  void preProcessElement(const std::string& name, const std::string& nmspace, DDCompactView& cpv) override;
34  void processElement(const std::string& name, const std::string& nmspace, DDCompactView& cpv) override;
35  void clearall();
36 
39 
40 private:
41  std::vector<double> pVector;
42  std::vector<std::string> pStrVector;
46  void errorOut(const char* str) const;
47  void do_makeDouble(char const* str, char const* end);
48  void do_makeString(char const* str, char const* end);
49  bool parse_numbers(char const* str);
50  bool parse_strings(char const* str);
51 };
52 
53 #endif
DDLVector
DDLVector handles Rotation and ReflectionRotation elements.
Definition: DDLVector.h:29
DDLVector::DDLVector
DDLVector(DDLElementRegistry *myreg)
Definition: DDLVector.cc:62
DDLVector::pNameSpace
std::string pNameSpace
Definition: DDLVector.h:45
DDReadMapType.h
DDLVector::pStrVector
std::vector< std::string > pStrVector
Definition: DDLVector.h:42
DDLVector::processElement
void processElement(const std::string &name, const std::string &nmspace, DDCompactView &cpv) override
Processing the element.
Definition: DDLVector.cc:70
DDLVector::pVecMap
ReadMapType< std::vector< double > > pVecMap
Definition: DDLVector.h:43
DDLElementRegistry
The main class for processing parsed elements.
Definition: DDLElementRegistry.h:23
DDXMLElement::end
virtual std::vector< DDXMLAttribute >::const_iterator end(void)
Definition: DDXMLElement.cc:191
DDLVector::clearall
void clearall()
Definition: DDLVector.cc:144
DDLVector::errorOut
void errorOut(const char *str) const
Definition: DDLVector.cc:137
DDCompactView
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:81
str
#define str(s)
Definition: TestProcessor.cc:53
DDTypes.h
DDXMLElement
This is a base class for processing XML elements in the DDD.
Definition: DDXMLElement.h:48
DDLVector::pVector
std::vector< double > pVector
Definition: DDLVector.h:41
DDLVector::do_makeDouble
void do_makeDouble(char const *str, char const *end)
Definition: DDLVector.cc:126
DDLVector::parse_strings
bool parse_strings(char const *str)
Definition: DDLVector.cc:57
DDLVector::do_makeString
void do_makeString(char const *str, char const *end)
Definition: DDLVector.cc:132
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DDLVector::parse_numbers
bool parse_numbers(char const *str)
Definition: DDLVector.cc:52
ReadMapType
a std::map<std::string,YourType> that offers a const operator[key]; if key is not stored in the std::...
Definition: DDReadMapType.h:14
DDLVector::pStrVecMap
ReadMapType< std::vector< std::string > > pStrVecMap
Definition: DDLVector.h:44
DDXMLElement.h
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
DDLVector::getMapOfVectors
ReadMapType< std::vector< double > > & getMapOfVectors()
Definition: DDLVector.cc:122
DDVector.h
DDLVector::preProcessElement
void preProcessElement(const std::string &name, const std::string &nmspace, DDCompactView &cpv) override
Called by loadAttributes AFTER attributes are loaded.
Definition: DDLVector.cc:64
DDLVector::getMapOfStrVectors
ReadMapType< std::vector< std::string > > & getMapOfStrVectors()
Definition: DDLVector.cc:124