CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
BesPhysicalPointer.h
Go to the documentation of this file.
1/*
2 Author: Long Peixun
3 2019/4/11
4*/
5
6#ifndef BES_PHYSICAL_NODE_H
7#define BES_PHYSICAL_NODE_H
8
9#include "TGeoPhysicalNode.h"
10
11//Class BesPhysicalPointer is a wrap of TGeoPhysicalNode pointer, which can add additional information.
12class BesPhysicalPointer : public TObject
13{
14public:
15 BesPhysicalPointer(TGeoPhysicalNode* pointer = NULL)
16 : pNode(pointer) {}
17
18 void set(TGeoPhysicalNode* spn);
19 TGeoPhysicalNode* get() const;
20 operator TGeoPhysicalNode* () const;
21 TGeoPhysicalNode* operator -> () const;
22 TGeoPhysicalNode& operator * () const;
23
24 operator bool() const;
25 TGeoPhysicalNode* operator = (TGeoPhysicalNode* pointer);
26protected:
27 TGeoPhysicalNode* pNode; //Pointer to associated TGeoPhysicalNode
28
29 ClassDef(BesPhysicalPointer, 0)
30};
31
32
33//For MDC 3D hits
35{
36public:
37 MdcPhysicalPointer(TGeoPhysicalNode* pointer = NULL)
42
43 void setQOverflow(Bool_t sqof);
44 void setTimeChannel(UInt_t stc);
45 void setChargeChannel(UInt_t scc);
46 Bool_t getQOverflow() const;
47 UInt_t getTimeChannel() const;
48 UInt_t getChargeChannel() const;
50
51protected:
52 Bool_t qOverflow; //Additional information of MDC hit
55
56 ClassDef(MdcPhysicalPointer, 0)
57};
58
59
60//For TOF 3D hits
62{
63public:
64 TofPhysicalPointer(TGeoPhysicalNode* pointer = NULL)
65 : BesPhysicalPointer(pointer), timeChannel(0), chargeChannel(0) {}
69
70 void setTimeChannel(UInt_t stc);
71 void setChargeChannel(UInt_t scc);
72 UInt_t getTimeChannel() const;
73 UInt_t getChargeChannel() const;
75
76protected:
79
80 ClassDef(TofPhysicalPointer, 0)
81};
82
83#endif
BesPhysicalPointer(TGeoPhysicalNode *pointer=NULL)
TGeoPhysicalNode * operator=(TGeoPhysicalNode *pointer)
TGeoPhysicalNode * pNode
TGeoPhysicalNode * operator->() const
TGeoPhysicalNode * get() const
TGeoPhysicalNode & operator*() const
void set(TGeoPhysicalNode *spn)
MdcPhysicalPointer(const MdcPhysicalPointer &rval)
Bool_t getQOverflow() const
UInt_t getTimeChannel() const
void setQOverflow(Bool_t sqof)
void setTimeChannel(UInt_t stc)
MdcPhysicalPointer & operator=(const MdcPhysicalPointer &rval)
void setChargeChannel(UInt_t scc)
UInt_t getChargeChannel() const
MdcPhysicalPointer(TGeoPhysicalNode *pointer=NULL)
TofPhysicalPointer(const TofPhysicalPointer &rval)
TofPhysicalPointer & operator=(const TofPhysicalPointer &rval)
TofPhysicalPointer(TGeoPhysicalNode *pointer=NULL)
UInt_t getTimeChannel() const
UInt_t getChargeChannel() const
void setChargeChannel(UInt_t scc)
void setTimeChannel(UInt_t stc)