Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
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 
17 class TGeoNode;
18 class TGeoPolygon;
19 struct TGeoStateInfo;
20 
21 struct TGeoStateInfo {
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);
52  TGeoStateInfo & operator=(const TGeoStateInfo &other);
53  virtual ~TGeoStateInfo();
54 
55  ClassDef(TGeoStateInfo, 0) // No I/O for this structure
56 };
57 
58 #endif