/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/TrkReco/TrkReco-00-08-59-patch4-slc6tag/TrkReco/TSegmentCurl.h

Go to the documentation of this file.
00001 #ifndef TSegmentCurl_FLAG_
00002 #define TSegmentCurl_FLAG_
00003 
00004 #ifdef TRKRECO_DEBUG_DETAIL
00005 #ifndef TRKRECO_DEBUG
00006 #define TRKRECO_DEBUG
00007 #endif
00008 #endif
00009 #include "TrkReco/TMLink.h"
00010 #include "TrkReco/TCurlFinderParameters.h"
00011 #include "CLHEP/Alist/AList.h"
00012 
00013 class TSegmentCurl
00014 {
00015 public:
00016   TSegmentCurl(const unsigned superLayerId = 9999,
00017                const unsigned max = 9999);
00018   TSegmentCurl(TSegmentCurl &);
00019   TSegmentCurl(TSegmentCurl *);
00020 
00021   ~TSegmentCurl(void);
00022 
00023   const unsigned maxLocalLayerId(void) const;
00024   const unsigned superLayerId(void) const;
00025   const unsigned seqOfLayer(const unsigned);
00026   const unsigned sizeOfLayer(const unsigned);
00027 
00028   const unsigned maxSeq(void) const;
00029   const unsigned layerIdOfMaxSeq(void);
00030   const unsigned numOfSeqOneLayer(void);
00031   const unsigned numOfLargeSeqLayer(void);
00032 
00033   void setMaxSeq(const unsigned);
00034   void releaseMaxSeq(void);
00035 
00036   inline const unsigned size(void){ return m_list.length(); }
00037 
00038   const unsigned maxLocalLayerId(const unsigned);
00039   const unsigned superLayerId(const unsigned);
00040 
00041   void append(TMLink&);
00042   void append(TMLink*);
00043   void append(AList<TMLink>&);
00044 
00045   void remove(TMLink&);
00046   void remove(TMLink*);
00047   void remove(AList<TMLink>&);
00048 
00049   void removeAll(void);
00050 
00051   inline const AList<TMLink> & list(void){ return m_list; }
00052   inline const AList<TMLink> & list(unsigned i){ return m_layer[i]; }
00053 
00054   TSegmentCurl & operator=(const TSegmentCurl &);
00055 
00056   void dump(void);
00057 
00058   unsigned wires(const unsigned) const;
00059 
00060   void update(void);
00061 private:
00062   // main private members
00063   // flag for the update
00064   bool m_flagOfUpdate;
00065 
00066   // elements
00067   AList<TMLink> m_list;
00068   // max local layer id = 0,1,2...
00069   unsigned m_MaxLocalLayerId;
00070   // super layer id = 0,1,2...
00071   unsigned m_superLayerId;
00072   // seq. num. of each layer
00073   unsigned m_seqOfLayer[4];
00074   // size of each layer
00075   unsigned m_sizeOfLayer[4];   //Liuqg, origin is 6
00076 
00077   // sub private members
00078   AList<TMLink> m_layer[4];   //for each superlayer. Liuqg, origin is 6
00079   void calcuSeq(unsigned);
00080 
00081   unsigned m_maxSeq;
00082   unsigned m_layerIdOfMaxSeq;
00083   unsigned m_numOfSeqOneLayer;
00084   unsigned m_numOfLargeSeqLayer;
00085 };
00086 
00087 #endif /* TSegmentCurl_FLAG_ */

Generated on Tue Nov 29 23:14:18 2016 for BOSS_7.0.2 by  doxygen 1.4.7