]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpMotifMap.cxx
Work around for CINT bug in root 5.10/00, with gcc4.0.2
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifMap.cxx
index 027f9539c5b7d72bfc9f760c43d892816e7df721..4c393eee2d38445cef43acc7b9c3c58a2dd46afc 100755 (executable)
@@ -14,7 +14,7 @@
  **************************************************************************/
 
 // $Id$
-// $MpId: AliMpMotifMap.cxx,v 1.10 2006/03/02 16:32:38 ivana Exp $
+// $MpId: AliMpMotifMap.cxx,v 1.13 2006/03/15 10:04:36 ivana Exp $
 // Category: motif
 // -------------------
 // Class AliMpMotifMap
@@ -45,7 +45,7 @@ AliMpMotifMap::AliMpMotifMap(Bool_t /*standardConstructor*/)
      fMotifTypes(true),
      fMotifPositions(true),
      fMotifPositions2(true)
-#endif         
+#endif 
 {
 /// Standard constructor
   
@@ -255,6 +255,32 @@ AliMpMotifMap::GetAllMotifPositionsIDs(TArrayI& ecn) const
 #endif  
 }
 
+//_____________________________________________________________________________
+Int_t AliMpMotifMap::CalculateNofPads() const 
+{
+  Int_t nofPads = 0;
+
+#ifdef WITH_STL
+  MotifPositionMapIterator it;
+  for (it=fMotifPositions.begin(); it != fMotifPositions.end(); it++) {
+    AliMpMotifPosition* motifPosition = (*it).second;
+    nofPads += motifPosition->GetMotif()->GetMotifType()->GetNofPads();
+  }
+#endif
+  
+#ifdef WITH_ROOT  
+  TExMapIter it = fMotifPositions.GetIterator();
+  Long_t key, value;
+  
+  while ( it.Next(key, value) ) {
+    AliMpMotifPosition* motifPosition = reinterpret_cast<AliMpMotifPosition*>(value);
+    nofPads += motifPosition->GetMotif()->GetMotifType()->GetNofPads();
+  }
+#endif  
+
+  return nofPads;
+}
+
 //_____________________________________________________________________________
 void  AliMpMotifMap::PrintMotifPositions() const
 {