/data3/calcul/jacquem/working_dir/Micromegas/micromegasFrameWork/src/root/MTDetector.cpp

Go to the documentation of this file.
00001 /* @version $Revision: 1585 $ * @modifiedby $Author: jacquem $ * @lastmodified $Date: 2012-03-13 11:03:35 +0100 (Tue, 13 Mar 2012) $ */
00002 #include "root/MTDetector.hh"
00003 #include "root/MTChamber.hh"
00004 //
00005 #include "tools/MicroException.hh"
00006 #include <iostream>
00007 #include <time.h>
00008 
00009 #include "geometry/Detector.hh"
00010 #include "geometry/Chamber.hh"
00011 #include "tools/Log.hh"
00012 
00013 
00014 using namespace std;
00015 
00016 ClassImp(MTDetector)
00017 
00018 MTDetector::MTDetector()
00019 {
00020         name = "";
00021         id = 0;
00022 }
00023 
00024 //______________________________________________________________________________
00025  MTDetector::MTDetector(const Detector& aDetector)
00026  {
00027      (*this) = aDetector; // appelle operator=
00028  }
00029 //______________________________________________________________________________
00030 MTDetector::~MTDetector()
00031 {
00032         for( map<UInt_t,MTChamber*>::const_iterator iiChamber=this->chambers.begin(); iiChamber!=this->chambers.end(); ++iiChamber)
00033   {
00034         delete (*iiChamber).second; 
00035   }
00036 }
00037 //______________________________________________________________________________
00038 MTDetector& MTDetector::operator=(const Detector& aDetector)
00039 {
00040         try
00041         {
00042                 name            = aDetector.getName();
00043                 description     = aDetector.getDescription();
00044 
00045                 const ChamberMap_t& detChambers = aDetector.getChambers();
00046 
00047                 for (ChamberMap_t::const_iterator chamberIt = detChambers.begin(); chamberIt != detChambers.end(); ++chamberIt)
00048                 {
00049                         Chamber& chamber = *(chamberIt->second);
00050                         MTChamber *mtChamber = new MTChamber(chamber);
00051                         this->chambers[chamber.getId()] = mtChamber;
00052                 }
00053 
00054         } //try block
00055         catch (MicroException e)
00056         {
00057                 throw MicroException(e.getMessage());
00058         }
00059         // Save all objects in this file
00060         return *this;
00061 }
00062 
00063 //______________________________________________________________________________
00064 void  MTDetector::Info() const
00065 {
00066 
00067   TString recDate;
00068 
00069   cout << "**** Detector informations ****"    << endl << endl ;
00070   cout << "    Id: " << id << "    " << endl ;
00071   cout << "    Name: " << name << "    " << endl ;
00072 }
00073 

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