00001
00002 #ifndef ACD_H
00003 #define ACD_H
00004
00005 #include <iostream.h>
00006
00007 #include "TNode.h"
00008 #include "TVector3.h"
00009 #include "TBRIK.h"
00010
00011 #include "digiRootData/DigiEvent.h"
00012 #include "reconRootData/Recon.h"
00013
00014
00015 #define m_acd_lev1 0.2 // (MeV) = 0.1 MIP
00016 #define m_acd_lev2 1. // (MeV) = 0.5 MIP
00017 #define m_acd_lev3 4. // (MeV) = 2.0 MIP
00018 #define m_acd_lev4 20. // (MeV) = 10 MIP
00019
00020
00021 #define m_xgt_lev1 0.5 // (MIP)
00022 #define m_xgt_lev2 1. // (MIP)
00023 #define m_xgt_lev3 2. // (MIP)
00024 #define m_xgt_lev4 4. // (MIP)
00025
00026 #define m_xgtLev 205.
00027
00028
00029 class AcdDisplay {
00030
00031 private:
00032
00033 TObjArray* m_AcdNodeList;
00034 TObjArray* m_AcdShapeList;
00035
00036 TObjArray* m_XgtNodeList;
00037 TObjArray* m_XgtShapeList;
00038
00039 TObjArray* m_tileCenters;
00040 TObjArray* m_tileSizes;
00041
00042 TObjArray* m_XgtCenters;
00043 TVector3* m_XgtSize;
00044 TRotMatrix* m_XgtRot1;
00045 TRotMatrix* m_XgtRot2;
00046
00047 TNode *m_acdFrameNode;
00048
00049 DigiEvent *m_event;
00050
00051 TObjArray *m_acdpeds;
00052 TObjArray *m_xgtpeds;
00053
00054 Float_t m_xgtthr[4][4];
00055 Float_t m_mip[4];
00056
00057 void drawAcdEvents();
00058 void drawXgtEvents();
00059
00060 Char_t* getAcdName(Int_t ihit);
00061 Char_t* getXgtName(Int_t ihit);
00062
00063 public:
00064
00065 AcdDisplay( TNode *parent, TObjArray *acdpeds );
00066
00067
00068 void DrawEvents( DigiEvent *event );
00069
00070 Float_t getACDEnergy( Int_t id, Int_t nACD, Float_t acdPH);
00071 void setXGTthr();
00072
00073
00074 };
00075
00076 #endif