00001
00002 #ifndef CALLOGID_H
00003 #define CALLOGID_H 1
00004
00005 #include "CalRecon/CalDetGeo.h"
00006 #include "idents/ModuleId.h"
00007
00008 class CalLogID
00009
00010 {
00011 public:
00012
00013 CalLogID():m_modId(0) {ini();}
00014 CalLogID(int ilayer, int iview, int icolumn);
00015 CalLogID(int ilayer, int iview, int icolumn, idents::ModuleId mod);
00016 CalLogID(int ilayer, CalDetGeo::axis v, int icolumn);
00017 CalLogID(int ilayer, CalDetGeo::axis v, int icolumn, idents::ModuleId mod);
00018 ~CalLogID() {}
00019
00020
00021 int layer() const {return m_layer;}
00022 CalDetGeo::axis view() const {return m_view;}
00023 int column() const {return m_column;}
00024 int logID() const {return m_logID;}
00025 idents::ModuleId modId() const {return m_modId;}
00026
00027
00028 static int ID(int ilayer, CalDetGeo::axis v, int icolumn);
00029 static int ID(int ilayer, CalDetGeo::axis v, int icolumn, idents::ModuleId mod);
00030 static int layer(int logID);
00031 static CalDetGeo::axis view(int logID);
00032 static int column(int logID);
00033 static idents::ModuleId modId(int logID);
00034
00035 private:
00036
00037 void ini();
00038
00039 private:
00040
00041 int m_layer;
00042 CalDetGeo::axis m_view;
00043 int m_column;
00044 int m_logID;
00045 idents::ModuleId m_modId;
00046 };
00047
00048 #endif