00001 #ifndef TkDetLayers_DetGroupMerger_h 00002 #define TkDetLayers_DetGroupMerger_h 00003 00004 #include "TrackingTools/DetLayers/interface/DetGroup.h" 00005 00006 class DetGroupMerger { 00007 public: 00008 00009 static void orderAndMergeTwoLevels( const std::vector<DetGroup>& one, 00010 const std::vector<DetGroup>& two, 00011 std::vector<DetGroup>& result, 00012 int firstIndex, 00013 int firstCrossed); 00014 00015 static void mergeTwoLevels( const std::vector<DetGroup>& one, 00016 const std::vector<DetGroup>& two, 00017 std::vector<DetGroup>& result); 00018 00019 static void addSameLevel( const std::vector<DetGroup>& gvec, std::vector<DetGroup>& result); 00020 00021 static void doubleIndexSize( std::vector<DetGroup>& vec); 00022 00023 static void incrementAndDoubleSize( std::vector<DetGroup>& vec); 00024 00025 }; 00026 00027 #endif