Added method CalculateNofPads()
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 14 Mar 2006 09:53:51 +0000 (09:53 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 14 Mar 2006 09:53:51 +0000 (09:53 +0000)
MUON/mapping/AliMpMotifMap.cxx
MUON/mapping/AliMpMotifMap.h

index 027f953..b177a2c 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.12 2006/03/14 09:04:57 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
   
@@ -256,6 +256,33 @@ AliMpMotifMap::GetAllMotifPositionsIDs(TArrayI& ecn) const
 }
 
 //_____________________________________________________________________________
+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  
+
+  cout << "AliMpMotifMap::CalculateNofPads: " << nofPads << endl;
+  return nofPads;
+}
+
+//_____________________________________________________________________________
 void  AliMpMotifMap::PrintMotifPositions() const
 {
 /// Print all the the motifs positions.
index 51cc2f1..e4050a8 100755 (executable)
@@ -2,7 +2,7 @@
  * See cxx source for full Copyright notice                               */
 
 // $Id$
-// $MpId: AliMpMotifMap.h,v 1.10 2006/03/02 16:32:16 ivana Exp $
+// $MpId: AliMpMotifMap.h,v 1.11 2006/03/14 09:04:53 ivana Exp $
 
 /// \ingroup motif
 /// \class AliMpMotifMap
@@ -83,7 +83,10 @@ class AliMpMotifMap : public TObject
     AliMpMotifPosition*  FindMotifPosition(Int_t motifPositionID) const;
 
     /// Find all motifPositionsIDs (=electronicCardNumbers) handled by this map
-    void GetAllMotifPositionsIDs(TArrayI& enc) const;
+    void  GetAllMotifPositionsIDs(TArrayI& enc) const;
+
+    /// Calculate total number of pads defined in the map
+    Int_t CalculateNofPads() const;
      
   private:
     // methods