| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

A full ef classlist @htmlinclude used_packages.html @verbinclude requirements Calibration.h

Go to the documentation of this file.
00001 #ifndef CALIBRATION_HH
00002 #define CALIBRATION_HH
00003 
00013 
00014 #include "CLHEP/Units/SystemOfUnits.h"
00015 #include "Conventions/Detectors.h"
00016 #include <string>
00017 
00018 namespace DayaBay {
00019 
00020   namespace Calibration {
00021 
00022     namespace SourceType {
00023       enum SourceType_t {
00024         kUnknown      = 0, 
00025         kLED          = 1,
00026         kGe68         = 2,
00027         kAmC_Co60     = 3
00028       };
00029     
00030       // Convert enum back and forth to string.
00031       const char*    AsString(SourceType_t site);
00032       SourceType_t  FromString(const char* str);  
00033     }
00034 
00035     namespace Location {
00036       enum Location_t {
00037         kUnknown           = 0, 
00038         kAcuA_Center       = 1,
00039         kAcuB_GdlsEdge     = 2,
00040         kAcuC_GammaCatcher = 3,
00041         kAdWallUpper       = 4, 
00042         kAdWallCenter         = 5,
00043         kAdWallLower       = 6 
00044         /*
00045           kIwsA          = 7,
00046           kIwsB          = 8,
00047           kIwsC          = 9,
00048           kOwsA          = 10,
00049           kOwsB          = 11,
00050           kOwsC          = 12,
00051           kRpcA          = 13
00052         */      
00053       };
00054     
00055       // Convert enum back and forth to string.
00056       const char*    AsString(Location_t site);
00057       Location_t  FromString(const char* str);  
00058     }
00059 
00060     static const double AD_AxisA_r =      0.0 * CLHEP::mm;
00061     static const double AD_AxisB_r =   1350.0 * CLHEP::mm;
00062     static const double AD_AxisC_r =   1772.5 * CLHEP::mm;
00063     static const double AD_Wall_r  =   2195.5 * CLHEP::mm;
00064     static const double AD_AxisA_phi =    0.0 * CLHEP::degree;
00065     static const double AD_AxisB_phi =  112.5 * CLHEP::degree;
00066     static const double AD_AxisC_phi =  292.5 * CLHEP::degree;
00067     static const double AD_Wall_phi  =  240.0 * CLHEP::degree;
00068     static const double AD_WallUpper_z =  1491.0 * CLHEP::mm;
00069     static const double AD_WallCenter_z =       0.0 * CLHEP::mm;
00070     static const double AD_WallLower_z = -1491.0 * CLHEP::mm;
00071 
00072   }
00073 
00074   class CalibSourceId : public Detector {
00075   public:
00076     CalibSourceId() : Detector(0) {}
00077     CalibSourceId(Calibration::SourceType::SourceType_t type,
00078                   Calibration::Location::Location_t location,
00079                   Site::Site_t site,
00080                   DetectorId::DetectorId_t det);
00081     CalibSourceId(const std::string& name);
00082     CalibSourceId(const CalibSourceId& source) : Detector(source) {}
00083     CalibSourceId(int data) : Detector(data) {}
00084     virtual ~CalibSourceId();
00085     // Assignment Operator
00086     CalibSourceId& operator=(const CalibSourceId& id) 
00087       { m_data = id.m_data; return *this; }
00088 
00089     // Return the calibration source type
00090     Calibration::SourceType::SourceType_t type() const;
00091 
00092     // Return the calibration source location description
00093     Calibration::Location::Location_t location() const;
00094 
00095     // Return the calibration source location description
00096     bool isWallMounted() const;
00097 
00098     // Return a unique string name for this source
00099     std::string name() const;
00100     
00101     // Some convenience functions
00102     // Nominal source positions in local coordinate system
00103     double nominalX() const;
00104     double nominalY() const;
00105     double nominalZ() const;
00106 
00107   };
00108 
00109   std::ostream& operator<<(std::ostream& str, 
00110                            const DayaBay::CalibSourceId& sourceId);
00111 }
00112 
00113 #endif
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:14:47 2011 for Conventions by doxygen 1.4.7