DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
ParsersObjects_XYZVector.cpp
Go to the documentation of this file.
1 //==========================================================================
2 // AIDA Detector description implementation
3 //--------------------------------------------------------------------------
4 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
5 // All rights reserved.
6 //
7 // For the licensing terms see $DD4hepINSTALL/LICENSE.
8 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
9 //
10 //==========================================================================
11 //==========================================================================
12 // Include files
13 //==========================================================================
14 #ifndef DD4HEP_PARSERS_NO_ROOT
15 #include "Parsers/spirit/ParsersStandardListCommon.h"
16 
17 namespace ROOT { namespace Math {
18  bool operator<(const XYZVector& a, const XYZVector& b) {
19  if ( a.X() < b.X() ) return true;
20  if ( a.Y() < b.Y() ) return true;
21  if ( a.Z() < b.Z() ) return true;
22  return false;
23  }
24  }}
25 
26 template struct std::less<ROOT::Math::XYZVector>;
27 
28 // ============================================================================
29 namespace dd4hep {
30  namespace Parsers {
31 
32  // ==========================================================================
33  /* parse 3D-vector
34  * @param result (output) the parsed vector
35  * @param input (input) the input string
36  * @return status code
37  * @author Vanya BELYAEV Ivan.Belyaev@nikhef.nl
38  * @date 2009-09-05
39  */
40  template <> int parse(ROOT::Math::XYZVector& result,const std::string& input) {
41  ROOT::Math::XYZPoint point;
42  int sc = parse(point,input);
43  if ( 0 == sc ){ return sc; } // RETURN
44  result = point;
45  return 1;
46  }
47 
48  // ==========================================================================
49  /* parse the vector of vectors
50  * @param resut (OUTPUT) the parser vector
51  * @param input (INPIUT) the string to be parsed
52  * @author Vanya BELYAEV Ivan.Belyaev@nikhef.nl
53  * @date 2009-09-05
54  */
55  // ==========================================================================
56  IMPLEMENT_STL_PARSERS(ROOT::Math::XYZVector)
57  IMPLEMENT_MAPPED_PARSERS(pair,ROOT::Math::XYZVector)
58  }
59 }
60 #endif
ROOT::Math::operator<
bool operator<(const XYZPoint &a, const XYZPoint &b)
Allow point insertion of a point in maps.
Definition: ParsersObjects_XYZPoint.cpp:18
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
dd4hep::Parsers::parse
int parse(ROOT::Math::XYZVector &result, const std::string &input)
Definition: ParsersObjects_XYZVector.cpp:40
ROOT
ROOT include files.
Definition: Objects.h:508