24 ClassImp(TGeoStateInfo);
29 TGeoStateInfo::TGeoStateInfo(Int_t maxdaughters)
49 Int_t maxDaughters = (maxdaughters>0) ? maxdaughters : TGeoManager::GetMaxDaughters();
50 Int_t maxXtruVert = TGeoManager::GetMaxXtruVert();
51 fVoxCheckList =
new Int_t[maxDaughters];
52 fVoxBits1 =
new UChar_t[2 + ((maxDaughters-1)>>3)];
53 fXtruXc =
new Double_t[maxXtruVert];
54 fXtruYc =
new Double_t[maxXtruVert];
55 fVoxSlices[0] = fVoxSlices[1] = fVoxSlices[2] = -1;
56 fVoxInc[0] = fVoxInc[1] = fVoxInc[2] = 0;
57 fVoxInvdir[0] = fVoxInvdir[1] = fVoxInvdir[2] = 0;
58 fVoxLimits[0] = fVoxLimits[1] = fVoxLimits[2] = 0;
64 TGeoStateInfo::~TGeoStateInfo()
66 delete [] fVoxCheckList;
75 TGeoStateInfo::TGeoStateInfo(
const TGeoStateInfo &other)
77 fAsmCurrent(other.fAsmCurrent),
78 fAsmNext(other.fAsmNext),
79 fDivCurrent(other.fDivCurrent),
80 fDivNext(other.fDivNext),
81 fDivTrans(other.fDivTrans),
82 fDivRot(other.fDivRot),
83 fDivCombi(other.fDivCombi),
84 fVoxNcandidates(other.fVoxNcandidates),
85 fVoxCurrent(other.fVoxCurrent),
88 fBoolSelected(other.fBoolSelected),
89 fXtruSeg(other.fXtruSeg),
90 fXtruIz(other.fXtruIz),
93 fXtruPoly(other.fXtruPoly)
95 Int_t maxDaughters = TGeoManager::GetMaxDaughters();
96 Int_t maxXtruVert = TGeoManager::GetMaxXtruVert();
97 fVoxCheckList =
new Int_t[maxDaughters];
98 fVoxBits1 =
new UChar_t[1 + ((maxDaughters-1)>>3)];
99 fXtruXc =
new Double_t[maxXtruVert];
100 fXtruYc =
new Double_t[maxXtruVert];
101 fVoxSlices[0] = fVoxSlices[1] = fVoxSlices[2] = -1;
102 fVoxInc[0] = fVoxInc[1] = fVoxInc[2] = 0;
103 fVoxInvdir[0] = fVoxInvdir[1] = fVoxInvdir[2] = 0;
104 fVoxLimits[0] = fVoxLimits[1] = fVoxLimits[2] = 0;
110 TGeoStateInfo &TGeoStateInfo::operator=(
const TGeoStateInfo &other)
112 if (
this==&other)
return *
this;
114 fAsmCurrent = other.fAsmCurrent;
115 fAsmNext = other.fAsmNext;
116 fDivCurrent = other.fDivCurrent;
117 fDivNext = other.fDivNext;
118 fDivTrans = other.fDivTrans;
119 fDivRot = other.fDivRot;
120 fDivCombi = other.fDivCombi;
121 fVoxNcandidates = other.fVoxNcandidates;
122 fVoxCurrent = other.fVoxCurrent;
123 fVoxCheckList = other.fVoxCheckList;
124 fVoxBits1 = other.fVoxBits1;
125 fBoolSelected = other.fBoolSelected;
126 fXtruSeg = other.fXtruSeg;
127 fXtruIz = other.fXtruIz;
128 fXtruXc = other.fXtruXc;
129 fXtruYc = other.fXtruYc;
130 fXtruPoly = other.fXtruPoly;
131 fVoxSlices[0] = fVoxSlices[1] = fVoxSlices[2] = -1;
132 fVoxInc[0] = fVoxInc[1] = fVoxInc[2] = 0;
133 fVoxInvdir[0] = fVoxInvdir[1] = fVoxInvdir[2] = 0;
134 fVoxLimits[0] = fVoxLimits[1] = fVoxLimits[2] = 0;