]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpSegmentation.h
Fixing Doxygen warnings
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSegmentation.h
index df758b41222c15fbd40c4d4415100956e4753672..914765f528bbe545f926049ff23d7a42423d27f3 100644 (file)
@@ -12,7 +12,8 @@
 /// \brief Singleton container class for mapping segmentations
 ///
 /// It provides access to mapping segmentations based on the
-/// AliMpVSegmentation interface.                                        \n
+/// AliMpVSegmentation interface and to segmentations underlying
+/// detectors (sector, slat, trigger).                                  \n
 /// Mapping segmentations for all detection elements
 /// are created at the first call to AliMpSegmentation::Instance().
 /// The class is a singleton, it has all constructors
 #  include "AliMpCathodType.h"
 #endif
 
-#ifndef ALIMPSLATMOTIFMAP_H
-#  include "AliMpSlatMotifMap.h"
-#endif
-
-class AliMpVSegmentation;
+class AliMpDEStore;
 class AliMpSegmentation;
+class AliMpVSegmentation;
+class AliMpSlatMotifMap;
+class AliMpDataStreams;
+class AliMpSector;
+class AliMpSlat;
+class AliMpTrigger;
 class TRootIOCtor;
 
 class AliMpSegmentation : public  TObject {
 
   public:
-    AliMpSegmentation(TRootIOCtor* /*ioCtor*/);
+    AliMpSegmentation(TRootIOCtor* ioCtor);
     virtual ~AliMpSegmentation();
     
     // static methods
     static AliMpSegmentation* Instance(Bool_t warn = true);
-    static AliMpSegmentation* ReadData(Bool_t warn = true);
+    static AliMpSegmentation* ReadData(const AliMpDataStreams& dataStreams, 
+                                       Bool_t warn = true);
 
     // methods
+    
+    //
+    // Access to segmentations
+    //
+    
     const AliMpVSegmentation* GetMpSegmentation(
                                  Int_t detElemId, AliMp::CathodType cath, 
                                 Bool_t warn = true) const;
@@ -62,10 +71,33 @@ class AliMpSegmentation : public  TObject {
     const AliMpVSegmentation* GetMpSegmentationByElectronics(
                                  Int_t detElemId, Int_t elCardID, 
                                 Bool_t warn = true) const;
-    
+    //
+    // Access to sectors, slats, triggers
+    //
+
+    const AliMpSector*  GetSector(const AliMpVSegmentation* kSegmentation, 
+                                  Bool_t warn = true) const;
+    const AliMpSector*  GetSector(Int_t detElemId, AliMp::CathodType cath, 
+                                  Bool_t warn = true) const;
+    const AliMpSector*  GetSectorByElectronics(Int_t detElemId, Int_t elCardID, 
+                                  Bool_t warn = true) const;
+  
+    const AliMpSlat*    GetSlat(const AliMpVSegmentation* kSegmentation, 
+                                  Bool_t warn = true) const;
+    const AliMpSlat*    GetSlat(Int_t detElemId, AliMp::CathodType cath, 
+                                  Bool_t warn = true) const;
+    const AliMpSlat*    GetSlatByElectronics(Int_t detElemId, Int_t elCardID, 
+                                  Bool_t warn = true) const;
+  
+    const AliMpTrigger* GetTrigger(const AliMpVSegmentation* kSegmentation, 
+                                  Bool_t warn = true) const;
+    const AliMpTrigger* GetTrigger(Int_t detElemId, AliMp::CathodType cath, 
+                                  Bool_t warn = true) const;
+    const AliMpTrigger* GetTriggerByElectronics(Int_t detElemId, Int_t elCardID, 
+                                  Bool_t warn = true) const;
+  
   private:
-    /// Not implemented
-    AliMpSegmentation();
+    AliMpSegmentation(const AliMpDataStreams& dataStreams);
     /// Not implemented
     AliMpSegmentation(const AliMpSegmentation& rhs);
     /// Not implemented
@@ -73,6 +105,7 @@ class AliMpSegmentation : public  TObject {
 
     AliMpVSegmentation* CreateMpSegmentation(
                               Int_t detElemId, AliMp::CathodType cath);
+                              
 
     AliMpExMap* FillElCardsMap(Int_t detElemId);
 
@@ -80,11 +113,13 @@ class AliMpSegmentation : public  TObject {
     static AliMpSegmentation* fgInstance; ///< Singleton instance
 
     // data members
+    const AliMpDataStreams&  fkDataStreams;  //!< Data streams
+    AliMpDEStore*      fDetElements;    ///< Detection element store
     AliMpStringObjMap  fMpSegmentations;///< Map of mapping segmentations to DE seg names
     AliMpExMap         fElCardsMap;     ///< Map of el. cards IDs to segmentations
-    AliMpSlatMotifMap  fSlatMotifMap; ///< Map of motif, motifTypes to avoid duplications and allow proper deletion
+    AliMpSlatMotifMap* fSlatMotifMap;   ///< Map of motif, motifTypes to avoid duplications and allow proper deletion
     
-  ClassDef(AliMpSegmentation,1)  // The factory for building mapping segmentations
+  ClassDef(AliMpSegmentation,3)  // The factory for building mapping segmentations
 };
 
 #endif //ALI_MP_SEGMENTATION_H