/data3/calcul/jacquem/working_dir/Micromegas/micromegasFrameWork/include/geometry/Detector.hh

Go to the documentation of this file.
00001 /* @version $Revision: 1703 $ * @modifiedby $Author: jacquem $ * @lastmodified $Date: 2012-05-03 10:11:12 +0200 (Thu, 03 May 2012) $ */
00002 
00003 #ifndef DETECTOR_HH
00004 #define DETECTOR_HH
00005 
00006 //////////////////////////////////////////////////////////////////////////
00007 //                                                                      //
00008 // Detector  for MICROMEGAS READOUT                                     //
00009 //                                                                      //
00010 //////////////////////////////////////////////////////////////////////////
00011 
00012 #include "mTypes.h"
00013 //#include "SteerDesc.hh"
00014 class Chamber;
00015 class SteerDesc;
00016 
00017 #include <string>
00018 #include <map>
00019 
00020 //////////////////////////////////////////////////////////////////////////
00021 ///     Class Detector                                                  //
00022 //////////////////////////////////////////////////////////////////////////
00023 class Detector {
00024   friend std::ostream& operator << (std::ostream& out, const Detector& x);
00025   public:
00026     Detector();
00027     ~Detector();
00028     std::ostream& operator << (std::ostream& out) const;
00029 
00030   //------ methods --------//
00031   public:
00032     bool addChamber(Chamber *aChamber);
00033 //    inline std::map<ui16 , Chamber *> getChambers(void) const { return chambers; };
00034     inline ChamberMap_t getChambers(void) const { return chambers; };
00035     Chamber& getChamberById(const i32 id) const;
00036     inline i64 getNumberOfChambers(void) const { return chambers.size() ; };
00037     Dif& getDifById(const i32 _id) const;
00038 
00039     unsigned int getNumberOfGaziplex96() const; // sum 1 per Gasiplex96 and 4 per gaziplex384
00040     int build(const SteerDesc& sd); // return number of created Chambers
00041 
00042     inline void setDescription(std::string aDesc ) { description = aDesc; };
00043     inline std::string getDescription(void ) const { return description; };
00044 
00045     inline void setName(std::string aName ) { name = aName; };
00046     inline std::string getName(void ) const { return name; };
00047 
00048     //inline const MonitoringDevice &getMonitoringDevice(void) const; 
00049 
00050     inline ui16 getMonitoringId(void) const { return monDev; } ;
00051     
00052 
00053   // ------ data member -------//
00054   private:
00055     std::string name;
00056     std::string description;
00057 //    std::map<ui16, Chamber *> chambers;
00058     ChamberMap_t chambers; // ChamberMap_t <=> std::map<i32, Chamber *>
00059     ui16 monDev; // Used for monitoring device
00060 };
00061 
00062 #endif

Generated on Mon Jan 7 13:15:20 2013 for MicromegasFramework by  doxygen 1.4.7