CMS 3D CMS Logo

DDErrorDetection.h File Reference

#include <map>
#include <set>
#include <string>
#include "DetectorDescription/Core/interface/DDLogicalPart.h"
#include "DetectorDescription/Core/interface/DDMaterial.h"
#include "DetectorDescription/Core/interface/DDSolid.h"
#include "DetectorDescription/Core/interface/DDTransform.h"
#include "DetectorDescription/Core/interface/DDSpecifics.h"
#include "DetectorDescription/Base/interface/Singleton.h"

Go to the source code of this file.

Classes

class  DDErrorDetection

Typedefs

typedef DDI::Singleton
< std::map< std::string,
std::set< DDLogicalPart > > > 
lp_err
typedef DDI::Singleton
< std::map< std::string,
std::set< DDMaterial > > > 
ma_err
typedef std::map< std::string,
std::set< DDName > > 
ns_nm_type
typedef std::map< std::string,
std::set< std::string > > 
ns_type
typedef DDI::Singleton
< std::map< std::string,
std::set< DDRotation > > > 
ro_err
typedef DDI::Singleton
< std::map< std::string,
std::set< DDSolid > > > 
so_err
typedef DDI::Singleton
< std::map< std::string,
std::set< DDSpecifics > > > 
sp_err

Functions

template<class C>
const std::map< std::string,
std::set< C > > & 
dd_error_scan (const C &)
template<typename T>
bool findNameSpaces (T dummy, ns_nm_type &m)
template<typename T>
bool findNameSpaces (T dummy, ns_type &m)
template<class T, class N>
std::ostream & operator<< (std::ostream &o, const std::map< N, std::set< T > > &m)
template<class T>
std::ostream & operator<< (std::ostream &o, const std::map< std::string, std::set< T > > &m)
template<class T>
std::ostream & operator<< (std::ostream &o, const std::set< T > &v)


Typedef Documentation

typedef DDI::Singleton<std::map<std::string,std::set<DDLogicalPart> > > lp_err

Definition at line 16 of file DDErrorDetection.h.

typedef DDI::Singleton<std::map<std::string,std::set<DDMaterial> > > ma_err

Definition at line 17 of file DDErrorDetection.h.

typedef std::map<std::string, std::set<DDName> > ns_nm_type

Definition at line 25 of file DDErrorDetection.h.

typedef std::map<std::string, std::set<std::string> > ns_type

Definition at line 24 of file DDErrorDetection.h.

typedef DDI::Singleton<std::map<std::string,std::set<DDRotation> > > ro_err

Definition at line 19 of file DDErrorDetection.h.

typedef DDI::Singleton<std::map<std::string,std::set<DDSolid> > > so_err

Definition at line 18 of file DDErrorDetection.h.

typedef DDI::Singleton<std::map<std::string,std::set<DDSpecifics> > > sp_err

Definition at line 20 of file DDErrorDetection.h.


Function Documentation

template<class C>
const std::map<std::string, std::set<C> >& dd_error_scan ( const C &   )  [inline]

Definition at line 102 of file DDErrorDetection.h.

References end, and it.

Referenced by DDErrorDetection::scan().

00103 {
00104     typedef std::map<std::string, std::set<C> > error_type;
00105     static error_type result_;
00106     typename C::template iterator<C> it;
00107     typename C::template iterator<C> ed(C::end());
00108     for (; it != ed; ++it) {
00109       if (!it->isDefined().second) {
00110         result_[it->name().ns()].insert(*it);
00111       }
00112     }  
00113     return result_;
00114 }

template<typename T>
bool findNameSpaces ( dummy,
ns_nm_type m 
) [inline]

Definition at line 87 of file DDErrorDetection.h.

References it, and HLT_VtxMuL3::result.

00088 {
00089    bool result=true;
00090    typename T::template iterator<T> it,ed;
00091    ed.end();
00092    for (; it != ed; ++it) {
00093      result = it->isDefined().second;
00094      if (!result) 
00095        DDI::Singleton<std::map<std::string,std::set<T> > >::instance()[it->name().ns()].insert(*it);
00096      m[it->name().ns()].insert(it->name());
00097    }
00098    return result;
00099 }

template<typename T>
bool findNameSpaces ( dummy,
ns_type m 
) [inline]

Definition at line 71 of file DDErrorDetection.h.

References it, and HLT_VtxMuL3::result.

Referenced by DDHtmlLpDetails::names(), DDHtmlRoDetails::names(), DDHtmlSpDetails::names(), DDHtmlSoDetails::names(), and DDHtmlMaDetails::names().

00072 {
00073    bool result=true;
00074    typename T::template iterator<T> it,ed;
00075    ed.end();
00076    for (; it != ed; ++it) {
00077      result = it->isDefined().second;
00078      if (!result) 
00079        DDI::Singleton<std::map<std::string,std::set<T> > >::instance()[it->name().ns()].insert(*it);
00080      m[it->name().ns()].insert(it->name().name());
00081    }
00082    return result;
00083 }

template<class T, class N>
std::ostream& operator<< ( std::ostream &  o,
const std::map< N, std::set< T > > &  m 
) [inline]

Definition at line 60 of file DDErrorDetection.h.

References lat::endl(), it, and m.

00060                                                                                                     {
00061   typedef typename std::map<N, std::set<T> >::const_iterator c_it;
00062   c_it it(m.begin()), ed(m.end());
00063   for (; it != ed; ++it) {
00064     o << it->first.ddname() << ": " << it->second;
00065     o << std::endl;
00066   }
00067   return o;
00068 }

template<class T>
std::ostream& operator<< ( std::ostream &  o,
const std::map< std::string, std::set< T > > &  m 
) [inline]

Definition at line 50 of file DDErrorDetection.h.

References lat::endl(), it, and m.

00050                                                                                                    {
00051   typedef typename std::map<std::string, std::set<T> >::const_iterator c_it;
00052   c_it it(m.begin()), ed(m.end());
00053   for (; it != ed; ++it) {
00054     o << it->first << ": " << it->second;
00055     o << std::endl;
00056   }
00057   return o;
00058 }

template<class T>
std::ostream& operator<< ( std::ostream &  o,
const std::set< T > &  v 
) [inline]

Definition at line 31 of file DDErrorDetection.h.

References it, and v.

00032 {
00033   typename std::set<T>::const_iterator it(v.begin()), ed(v.end());
00034   for(; it != ed; ++it) {
00035     o << it->ddname() << ' ';
00036   }
00037   return o;
00038 }


Generated on Tue Jun 9 17:52:37 2009 for CMSSW by  doxygen 1.5.4