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

In This Package:

RawData2Tree.h

Go to the documentation of this file.
00001 #ifndef RawData2Tree_H
00002 #define RawData2Tree_H
00003 
00004 #include "GaudiAlg/GaudiAlgorithm.h"
00005 #include "GaudiKernel/NTuple.h"
00006 #include "Context/TimeStamp.h"
00007 
00008 class IPmtGeomInfoSvc;
00009 class ICableSvc;
00010 class TimeStamp;
00011 namespace DayaBay {
00012   class ReadoutHeader;
00013   class DaqCrate;
00014 }
00015 
00016 class RawData2Tree: public GaudiAlgorithm
00017 {
00018   public:
00020     RawData2Tree(const std::string& name, ISvcLocator* svcloc);
00021     virtual ~RawData2Tree();
00022 
00024     StatusCode initialize();
00025     StatusCode execute();
00026     StatusCode finalize();
00027 
00028   private:
00029     StatusCode bookNtuple();
00030     void processPmtCrate(const DayaBay::ReadoutHeader *roh, const DayaBay::DaqCrate *daqCrate);
00031     //void processRpcCrate(const DayaBay::ReadoutHeader *roh, DayaBay::DaqCrate *daqCrate){};
00032     void processReadout(const DayaBay::ReadoutHeader *roh);
00033 
00034   private:
00035     int m_printFreq;
00036     int m_execNum;
00037     bool m_checkGen;
00038     bool m_checkReadout;
00039 
00040   private:
00041     NTuple::Tuple*            m_ntuple0;   //Gen
00042     NTuple::Item<long>        m_eventType;
00043     NTuple::Item<long>        m_nVertex;
00044     NTuple::Array<float>      m_verX0;
00045     NTuple::Array<float>      m_verY0;
00046     NTuple::Array<float>      m_verZ0;
00047     NTuple::Item<long>        m_nParticle;
00048     NTuple::Array<float>      m_verPx;
00049     NTuple::Array<float>      m_verPy;
00050     NTuple::Array<float>      m_verPz;
00051 
00052     NTuple::Tuple*           m_ntuple1;   //Readout
00053     NTuple::Item<long>       m_run;
00054     NTuple::Item<long>       m_event;
00055     NTuple::Item<long>       m_det;
00056     NTuple::Item<long>       m_trigNum;
00057     NTuple::Item<long>       m_trigSecond;
00058     NTuple::Item<long>       m_trigNanoSec;
00059     NTuple::Item<long>       m_trigType;
00060     NTuple::Item<long>       m_nHit;
00061     NTuple::Item<long>       m_nChannel;
00062     NTuple::Item<long>       m_nTrigger;
00063     NTuple::Array<long>      m_board;
00064     NTuple::Array<long>      m_channel;
00065     NTuple::Array<long>      m_ring;
00066     NTuple::Array<long>      m_column;
00067     NTuple::Array<long>      m_wall;
00068     NTuple::Array<long>      m_spot;
00069     NTuple::Array<long>      m_inout;;
00070     NTuple::Array<long>      m_adc;
00071     NTuple::Array<long>      m_tdc;
00072     NTuple::Array<long>      m_cycle;
00073     NTuple::Array<long>      m_preAdc;
00074     NTuple::Array<long>      m_range;
00075     NTuple::Array<long>      m_hitCount;
00076     NTuple::Array<long>      m_multiTdc;
00077     NTuple::Array<long>      m_triggerSec;
00078     NTuple::Array<long>      m_triggerNano;
00079     NTuple::Array<long>      m_triggerType;
00080     NTuple::Array<long>      m_triggerHSum;
00081     NTuple::Array<long>      m_triggerESumComp;
00082     NTuple::Array<long>      m_triggerESumAdc;
00083 
00084   private:
00085     // Property CableSvcName - Name of the cable service
00086     std::string m_cableSvcName;
00087 
00088     //CableSvc
00089     ICableSvc*  m_cableSvc;
00090 
00091     // Property PmtGeomSvcName - Name of the PmtGeom service
00092     std::string m_pmtGeomSvcName;
00093 
00094     // Pmt Geometry Information Service
00095     IPmtGeomInfoSvc* m_pmtGeomSvc;
00096 
00097 };
00098 
00099 #endif
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:34:06 2011 for AnalysesEx by doxygen 1.4.7