]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- Adding option for ownership of sector
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Oct 2006 11:49:17 +0000 (11:49 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Oct 2006 11:49:17 +0000 (11:49 +0000)
- Adding debug messages
- Modyfing debug levels: level 1 only in ctors/dtors

MUON/mapping/AliMpSectorSegmentation.cxx
MUON/mapping/AliMpSectorSegmentation.h

index acf146ab3a5c6ac104ff072f42877080b27b6177..9b5c8b84db18e44052f1e7b3cc84333b5647ea1d 100755 (executable)
@@ -58,9 +58,11 @@ const Double_t AliMpSectorSegmentation::fgkS2 = 1000.;
 #endif
 
 //______________________________________________________________________________
-AliMpSectorSegmentation::AliMpSectorSegmentation(const AliMpSector* sector) 
+AliMpSectorSegmentation::AliMpSectorSegmentation(
+                            const AliMpSector* sector, Bool_t own) 
   : AliMpVSegmentation(),
     fkSector(sector),
+    fIsOwner(own),
     fPadBuffer(0),
     fPadDimensionsMap(),
     fMaxIndexInX(0),
@@ -68,6 +70,8 @@ AliMpSectorSegmentation::AliMpSectorSegmentation(const AliMpSector* sector)
 {
 /// Standard constructor
 
+  AliDebugStream(1) << "this = " << this << endl;
+
   fPadBuffer = new AliMpPad(AliMpPad::Invalid());
   
   FillPadDimensionsMap();
@@ -77,12 +81,15 @@ AliMpSectorSegmentation::AliMpSectorSegmentation(const AliMpSector* sector)
 AliMpSectorSegmentation::AliMpSectorSegmentation() 
   : AliMpVSegmentation(),
     fkSector(0),
+    fIsOwner(false),
     fPadBuffer(0),
     fPadDimensionsMap(),      
     fMaxIndexInX(0),
     fMaxIndexInY(0)
 {
 /// Default constructor
+
+  AliDebugStream(1) << "this = " << this << endl;
 }
 
 //______________________________________________________________________________
@@ -90,7 +97,12 @@ AliMpSectorSegmentation::~AliMpSectorSegmentation()
 {
 /// Destructor 
 
+  AliDebugStream(1) << "this = " << this << endl;
+
+  if ( fIsOwner ) delete fkSector;
+
   delete fPadBuffer;
+  
 }
 
 //
@@ -139,9 +151,11 @@ void AliMpSectorSegmentation::FillPadDimensionsMap()
       fPadDimensionsMap[zoneID*10] = zone->GetPadDimensions();
 #endif
 #ifdef WITH_ROOT
-     AliDebug(1,Form("Filling fPadDimensions[%d]=(%e,%e)",
-                     zoneID*10,zone->GetPadDimensions().X(),
-                     zone->GetPadDimensions().Y()));
+     AliDebugStream(3)
+       << "Filling fPadDimensions[" << zoneID*10 << "] = ("
+       << zone->GetPadDimensions().X() << ", "
+       << zone->GetPadDimensions().Y() << ")" << endl;
+
      fPadDimensionsMap.Add((Long_t)(zoneID*10), 
                             GetIndex(zone->GetPadDimensions()));
 #endif
@@ -159,12 +173,12 @@ void AliMpSectorSegmentation::FillPadDimensionsMap()
           fPadDimensionsMap[index] = motif->GetPadDimensions(k);
 #endif
 #ifdef WITH_ROOT
-          AliDebug(1,Form("Filling fPadDimensions[%d]=(%e,%e) motif %s-%d",
-                          index,
-                          motif->GetPadDimensions(k).X(),
-                          motif->GetPadDimensions(k).Y(),
-                          motif->GetID().Data(),k));
-          
+          AliDebugStream(3)
+            << "Filling fPadDimensions[" << index << "] = ("
+            << motif->GetPadDimensions(k).X() << ", "
+            << motif->GetPadDimensions(k).Y() << ") motif "
+           << motif->GetID().Data() << "-" << k << endl;
+
           fPadDimensionsMap.Add((Long_t)(index), 
                             GetIndex(motif->GetPadDimensions(k)));
 #endif
index eb306ed0040cbb9a48a94c3e8051bcc5dcbeb9f6..a3c800e2012ff0769f0594fe5e1c356447c0e4ec 100755 (executable)
@@ -50,7 +50,7 @@ class AliMpSectorSegmentation : public AliMpVSegmentation
 #endif
 
   public:
-    AliMpSectorSegmentation(const AliMpSector* sector);
+    AliMpSectorSegmentation(const AliMpSector* sector, Bool_t own = false);
     AliMpSectorSegmentation();
     virtual ~AliMpSectorSegmentation();
     
@@ -113,8 +113,9 @@ class AliMpSectorSegmentation : public AliMpVSegmentation
     virtual AliMpPad PadByYDirection(const TVector2& startPosition, 
                                      Double_t maxY) const;
  
-    // data members        
+    // data members   
     const AliMpSector*  fkSector;   ///< Sector
+    Bool_t              fIsOwner;   ///< Sector ownership     
     AliMpPad*           fPadBuffer; ///< The pad buffer
 #ifdef WITH_STL
     PadDimensionsMap    fPadDimensionsMap; ///< Map between zone IDs and pad dimensions
@@ -126,7 +127,7 @@ class AliMpSectorSegmentation : public AliMpVSegmentation
     Int_t  fMaxIndexInX;  ///< maximum pad index in x    
     Int_t  fMaxIndexInY;  ///< maximum pad index in y    
 
-  ClassDef(AliMpSectorSegmentation,1)  // Segmentation
+  ClassDef(AliMpSectorSegmentation,2)  // Segmentation
 };