Logo ROOT   6.18/05
Reference Guide
TGeoStateInfo.h
Go to the documentation of this file.
1// @(#):$Id$
2// Author: Andrei Gheata 07/02/2012
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TGeoStateInfo
13#define ROOT_TGeoStateInfo
14
15#include "TGeoMatrix.h"
16
17class TGeoNode;
18class TGeoPolygon;
19struct TGeoStateInfo;
20
22 TGeoNode *fNode; // Node to which applies
23 // Assembly data
24 Int_t fAsmCurrent; // Index for current entered node (assemblies)
25 Int_t fAsmNext; // Index for next entered node (assemblies)
26 // Divisions data
27 Int_t fDivCurrent; // Index for the current division node
28 Int_t fDivNext; // Index for the next division node
29 TGeoTranslation fDivTrans; // Translation used by current division node
30 TGeoRotation fDivRot; // Rotation used by current division node
31 TGeoCombiTrans fDivCombi; // Combi transformation used by current division
32 // Voxels data
33 Int_t fVoxNcandidates; // Number of candidates
34 Int_t fVoxCurrent; // Index of current voxel in sorted list
35 Int_t *fVoxCheckList; // List of candidates
36 UChar_t *fVoxBits1; // Bits used for list intersection
37 Int_t fVoxSlices[3]; // Slice indices for current voxel
38 Int_t fVoxInc[3]; // Slice index increment
39 Double_t fVoxInvdir[3]; // 1/current director cosines
40 Double_t fVoxLimits[3]; // Limits on X,Y,Z
41 // Composite shape data
42 Int_t fBoolSelected; // Selected Boolean node
43 // Xtru shape data
44 Int_t fXtruSeg; // current segment [0,fNvert-1]
45 Int_t fXtruIz; // current z plane [0,fNz-1]
46 Double_t *fXtruXc; // [fNvert] current X positions for polygon vertices
47 Double_t *fXtruYc; // [fNvert] current Y positions for polygon vertices
48 TGeoPolygon *fXtruPoly; // polygon defining section shape
49
50 TGeoStateInfo(Int_t maxdaughters=0);
51 TGeoStateInfo(const TGeoStateInfo &other);
53 virtual ~TGeoStateInfo();
54
55 ClassDef(TGeoStateInfo, 0) // No I/O for this structure
56};
57
58#endif
int Int_t
Definition: RtypesCore.h:41
unsigned char UChar_t
Definition: RtypesCore.h:34
double Double_t
Definition: RtypesCore.h:55
#define ClassDef(name, id)
Definition: Rtypes.h:326
Class describing rotation + translation.
Definition: TGeoMatrix.h:292
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
Definition: TGeoNode.h:41
An arbitrary polygon defined by vertices.
Definition: TGeoPolygon.h:20
Class describing rotations.
Definition: TGeoMatrix.h:175
Class describing translations.
Definition: TGeoMatrix.h:122
Statefull info for the current geometry level.
Definition: TGeoStateInfo.h:21
Int_t fVoxSlices[3]
Definition: TGeoStateInfo.h:37
Double_t fVoxLimits[3]
Definition: TGeoStateInfo.h:40
virtual ~TGeoStateInfo()
Destructor.
Double_t * fXtruYc
Definition: TGeoStateInfo.h:47
TGeoTranslation fDivTrans
Definition: TGeoStateInfo.h:29
Double_t * fXtruXc
Definition: TGeoStateInfo.h:46
Int_t fVoxNcandidates
Definition: TGeoStateInfo.h:33
Int_t fVoxInc[3]
Definition: TGeoStateInfo.h:38
Int_t * fVoxCheckList
Definition: TGeoStateInfo.h:35
Int_t fBoolSelected
Definition: TGeoStateInfo.h:42
TGeoRotation fDivRot
Definition: TGeoStateInfo.h:30
TGeoCombiTrans fDivCombi
Definition: TGeoStateInfo.h:31
UChar_t * fVoxBits1
Definition: TGeoStateInfo.h:36
TGeoNode * fNode
Definition: TGeoStateInfo.h:22
TGeoStateInfo & operator=(const TGeoStateInfo &other)
Assignment.
Double_t fVoxInvdir[3]
Definition: TGeoStateInfo.h:39
TGeoStateInfo(Int_t maxdaughters=0)
Constructor.
TGeoPolygon * fXtruPoly
Definition: TGeoStateInfo.h:48