00001 #include <math.h>
00002 #include "Stiostream.h"
00003 #include <string>
00004 #include <map>
00005 #include "StiMaterial.h"
00006 #include "StiShape.h"
00007 #include "StiPlacement.h"
00008 #include "StiDetectorContainer.h"
00009 #include "StiDetector.h"
00010 #include "StiMapUtilities.h"
00011
00012
00013 StiDetector::StiDetector()
00014 {
00015 reset();
00016 }
00017 void StiDetector::reset()
00018 {
00019 setName("");
00020 memset(mBeg,0,mEnd-mBeg+1);
00021 _key1 = _key2 = -1;
00022 }
00023
00024 StiDetector::~StiDetector()
00025 {}
00026
00027 void StiDetector::copy(StiDetector &detector){
00028
00029 on = detector.isOn();
00030 isActiveFunctor = detector.isActiveFunctor;
00031 continuousMedium = detector.isContinuousMedium();
00032 discreteScatterer = detector.isDiscreteScatterer();
00033
00034 gas = detector.getGas();
00035 material = detector.getMaterial();
00036 shape = detector.getShape();
00037 placement = detector.getPlacement();
00038 _cos = detector._cos;
00039 _sin = detector._sin;
00040 setName(detector.getName());
00041 }
00042
00043 ostream& operator<<(ostream& os, const StiDetector& d)
00044 {
00045 os << d.getName()
00046 <<"\tR:"<<d.getPlacement()->getNormalRadius()<<"cm\tA:"
00047 <<d.getPlacement()->getNormalRefAngle()<< " radians";
00048 return os;
00049
00050 }
00051
00052