001 #ifndef BYTESTREAMBRANCHDECODER_H
002 #define BYTESTREAMBRANCHDECODER_H
003
004 #include "IBranchDecoder.h"
005 #include "TriggerTowerContainer.h"
006
007 #include "TTree.h"
008 #include <map>
009 #include <string>
010
011 class ByteStreamBranchDecoder : public IBranchDecoder
012 {
013 public:
014 ByteStreamBranchDecoder(void);
015 virtual ~ByteStreamBranchDecoder(void);
016
017 virtual void setBranchAdresses(TTree* ptree);
018 virtual void selectBranch(std::string branch);
019 virtual TriggerTowerContainer* makeTTContainer();
020 virtual std::vector<std::string> getBranchesName();
021 virtual void dumpTT2Frame(TGTransientFrame* frame, int ttIndex) const;
022
023 private:
024
025 static const int maxTT = 7200;
026 static const int maxADCslices = 9;
027 static const int maxLUTslices = 9;
028
029 struct ByteStreamTreeStruct {
030 int ntt;
031 double eta[maxTT];
032 double phi[maxTT];
033
034 int emPeak[maxTT];
035 int emADCPeak[maxTT];
036 int hadPeak[maxTT];
037 int hadADCPeak[maxTT];
038
039 int nEmADC[maxTT];
040 int nEmLUT[maxTT];
041
042 int nHadADC[maxTT];
043 int nHadLUT[maxTT];
044
045 int emADC[maxTT][maxADCslices];
046 int hadADC[maxTT][maxADCslices];
047 int emLUT[maxTT][maxLUTslices];
048 int hadLUT[maxTT][maxLUTslices];
049
050 int emEnergy[maxTT];
051 int hadEnergy[maxTT];
052
053 int emBCIDvec[maxTT][maxADCslices];
054 int emBCIDext[maxTT][maxADCslices];
055 int hadBCIDvec[maxTT][maxADCslices];
056 int hadBCIDext[maxTT][maxADCslices];
057
058 int emError[maxTT];
059 int hadError[maxTT];
060
061 int emBCID[maxTT];
062 int hadBCID[maxTT];
063
064 bool emIsSaturated[maxTT];
065 bool hadIsSaturated[maxTT];
066
067 bool emIsFilled[maxTT];
068 bool hadIsFilled[maxTT];
069 };
070 ByteStreamTreeStruct m_stTree;
071
072
073 enum eBranch { eUndefined = 0, eEnergy, ePeak, eADCPeak, eError, eBCID, eSaturated, eNADC, eNLUT };
074
075 typedef std::map<std::string, eBranch> BranchNameMap;
076 BranchNameMap m_mapBranchName;
077
078 eBranch m_eSelectedBranch;
079 };
080
081 #endif
082
| Due to the LXR bug, the updates fail sometimes to remove references to deleted files. The Saturday's full rebuilds fix these problems |
|
This page was automatically generated by the
LXR engine.
|
|