FairRoot/PandaRoot
Public Member Functions | Protected Attributes | Private Attributes | List of all members
PndGeoHypGeDoubleCluster Class Reference

#include <PndGeoHypGeDoubleCluster.h>

Inheritance diagram for PndGeoHypGeDoubleCluster:
PndGeoHypGeCluster PndGeoHypGeBase

Public Member Functions

 PndGeoHypGeDoubleCluster ()
 
 PndGeoHypGeDoubleCluster (TGeoMedium *ExtGe, TGeoMedium *ExtAl, Int_t ExtClusterNumber)
 
 ~PndGeoHypGeDoubleCluster ()
 
void BuildCrystals (Int_t *CrystalNumber)
 
void BuildCryostat ()
 
void PrintNodes (Int_t nLevels)
 
Int_t GetClusterNumber ()
 
Int_t GetStartClusterNumber ()
 
Int_t GetNumberOfCopies ()
 
void GetExternalParameters (Int_t NumberOfValues, Double_t *DataArray)
 
void TrashCommentaryLineInFile ()
 
void SetCryostatTransparency (Int_t ExtTransparency)
 
void SetCryostatColor (Color_t ExtColor)
 
void PlaceCluster (TGeoVolume *top, TGeoMatrix *ClusterPlaceAndDirectionTranslation, Int_t *CrystalNumber)
 
void PlaceCluster (TGeoVolume *top, Double_t x, Double_t y, Double_t z, Double_t GlobalZOffset, Double_t phi, Double_t theta, Double_t psi, Int_t *CrystalNumber)
 
void PlaceCluster (TGeoVolume *top, Double_t GlobalZOffset, Double_t Radius, Double_t phi, Double_t theta, Double_t psi, Int_t *CrystalNumber)
 
 ClassDef (PndGeoHypGeCluster, 0)
 
 ClassDef (PndGeoHypGeBase, 0)
 
void BuildTArb8Array (Double_t *OutputArray, Int_t Point1, Int_t Point2, Int_t Offset1, Int_t Offset2, Int_t ShiftValue, Int_t NumberOfPoints)
 
void BuildTArb8Array (Double_t *OutputArray, Int_t Point1, Int_t Point2, Int_t Offset1, Int_t Offset2, Int_t Offset3, Int_t Offset4, Int_t NumberOfPoints)
 
void BuildTArb8FrontArray (Double_t *OutputArray, Int_t Point1, Int_t Point2, Int_t Point3, Int_t Point4, Int_t NumberOfPoints)
 
void BuildTArb8TopArray (Double_t *OutputArray, Int_t Point1, Int_t Point2, Int_t Point3, Int_t Point4, Int_t Offset, Int_t NumberOfPoints)
 
void FillInputArray (Int_t NumberOfPoints, Int_t NumberOfXYInput)
 
void FillZValues (Int_t NumberofDifferentZValues)
 
void ReadCoordinatesAndAngles (string Filename, Int_t NumberOfCluster, Double_t *CoordinatesAndAngles)
 

Protected Attributes

TGeoMedium * Ge
 
TGeoMedium * Al
 
TGeoMedium * Cu
 
Int_t ClusterNumber
 
Int_t StartClusterNumber
 
TGeoVolume * ClusterAssembly
 
Int_t NumberOfCryostatEdges
 
Int_t NumberOfDifferentZValues
 
Int_t NumberOfXYInput
 
PndGeoHypGeCrystalCrystal1
 
PndGeoHypGeCrystalCrystal2
 
PndGeoHypGeCrystalCrystal3
 
Int_t Crystal1Number
 
Int_t Crystal2Number
 
Int_t Crystal3Number
 
TGeoRotation * Crystal1Rotation
 
TGeoRotation * Crystal2Rotation
 
TGeoRotation * Crystal3Rotation
 
TGeoCombiTrans * Crystal1Position
 
TGeoCombiTrans * Crystal2Position
 
TGeoCombiTrans * Crystal3Position
 
Double_tCryostatFrontArb8XY_5
 
TGeoArb8 * CryostatFrontArb8_5
 
Double_tCryostatLowerArb8XY_11
 
Double_tCryostatLowerArb8XY_12
 
TGeoArb8 * CryostatLowerArb8_11
 
TGeoArb8 * CryostatLowerArb8_12
 
Double_tCryostatMiddleArb8XY_11
 
Double_tCryostatMiddleArb8XY_12
 
TGeoArb8 * CryostatMiddleArb8_11
 
TGeoArb8 * CryostatMiddleArb8_12
 
Double_tCryostatUpperArb8XY_11
 
Double_tCryostatUpperArb8XY_12
 
TGeoArb8 * CryostatUpperArb8_11
 
TGeoArb8 * CryostatUpperArb8_12
 
Double_tCryostatTopArb8XY_5
 
TGeoArb8 * CryostatTopArb8_5
 
TGeoCompositeShape * CryostatShape
 
TGeoCombiTrans * CryostatCombiTrans
 
TGeoVolume * Cryostat
 
TGeoCompositeShape * ColdFingerShape
 
TGeoVolume * ColdFinger
 
Int_t CryostatTransparency
 
Double_t ClusterPositionX
 
Double_t ClusterPositionY
 
Double_t ClusterPositionZ
 
Double_t ClusterEulerAnglePsi
 
Double_t ClusterEulerAngleTheta
 
Double_t ClusterEulerAnglePhi
 
Double_tCoordinatesInputArray
 
Double_tZValuesInputArray
 
ifstream ParametersInputFile
 

Private Attributes

Double_t DoubleCrystalYOffset
 
Double_t DoubleCrystalZOffset
 
Bool_t MakeTop
 
Int_t NumberOfFrontArb8
 
Int_t NumberOfTopArb8
 
Double_t CryostatFrontThickness
 
Double_t CryostatLowerArb8Heigt
 
Double_t CryostatMiddleArb8Heigt
 
Double_t CryostatUpperArb8Heigt
 
Double_t CryostatTopThickness
 
Double_tCryostatFrontArb8XY_1
 
Double_tCryostatFrontArb8XY_2
 
Double_tCryostatFrontArb8XY_3
 
Double_tCryostatFrontArb8XY_4
 
TGeoArb8 * CryostatFrontArb8_1
 
TGeoArb8 * CryostatFrontArb8_2
 
TGeoArb8 * CryostatFrontArb8_3
 
TGeoArb8 * CryostatFrontArb8_4
 
TGeoTranslation * CryostatFrontTranslation
 
Double_tCryostatLowerArb8XY_1
 
Double_tCryostatLowerArb8XY_2
 
Double_tCryostatLowerArb8XY_3
 
Double_tCryostatLowerArb8XY_4
 
Double_tCryostatLowerArb8XY_5
 
Double_tCryostatLowerArb8XY_6
 
Double_tCryostatLowerArb8XY_7
 
Double_tCryostatLowerArb8XY_8
 
Double_tCryostatLowerArb8XY_9
 
Double_tCryostatLowerArb8XY_10
 
TGeoArb8 * CryostatLowerArb8_1
 
TGeoArb8 * CryostatLowerArb8_2
 
TGeoArb8 * CryostatLowerArb8_3
 
TGeoArb8 * CryostatLowerArb8_4
 
TGeoArb8 * CryostatLowerArb8_5
 
TGeoArb8 * CryostatLowerArb8_6
 
TGeoArb8 * CryostatLowerArb8_7
 
TGeoArb8 * CryostatLowerArb8_8
 
TGeoArb8 * CryostatLowerArb8_9
 
TGeoArb8 * CryostatLowerArb8_10
 
TGeoTranslation * CryostatLowerTranslation
 
Double_tCryostatMiddleArb8XY_1
 
Double_tCryostatMiddleArb8XY_2
 
Double_tCryostatMiddleArb8XY_3
 
Double_tCryostatMiddleArb8XY_4
 
Double_tCryostatMiddleArb8XY_5
 
Double_tCryostatMiddleArb8XY_6
 
Double_tCryostatMiddleArb8XY_7
 
Double_tCryostatMiddleArb8XY_8
 
Double_tCryostatMiddleArb8XY_9
 
Double_tCryostatMiddleArb8XY_10
 
TGeoArb8 * CryostatMiddleArb8_1
 
TGeoArb8 * CryostatMiddleArb8_2
 
TGeoArb8 * CryostatMiddleArb8_3
 
TGeoArb8 * CryostatMiddleArb8_4
 
TGeoArb8 * CryostatMiddleArb8_5
 
TGeoArb8 * CryostatMiddleArb8_6
 
TGeoArb8 * CryostatMiddleArb8_7
 
TGeoArb8 * CryostatMiddleArb8_8
 
TGeoArb8 * CryostatMiddleArb8_9
 
TGeoArb8 * CryostatMiddleArb8_10
 
TGeoTranslation * CryostatMiddleTranslation
 
Double_tCryostatUpperArb8XY_1
 
Double_tCryostatUpperArb8XY_2
 
Double_tCryostatUpperArb8XY_3
 
Double_tCryostatUpperArb8XY_4
 
Double_tCryostatUpperArb8XY_5
 
Double_tCryostatUpperArb8XY_6
 
Double_tCryostatUpperArb8XY_7
 
Double_tCryostatUpperArb8XY_8
 
Double_tCryostatUpperArb8XY_9
 
Double_tCryostatUpperArb8XY_10
 
TGeoArb8 * CryostatUpperArb8_1
 
TGeoArb8 * CryostatUpperArb8_2
 
TGeoArb8 * CryostatUpperArb8_3
 
TGeoArb8 * CryostatUpperArb8_4
 
TGeoArb8 * CryostatUpperArb8_5
 
TGeoArb8 * CryostatUpperArb8_6
 
TGeoArb8 * CryostatUpperArb8_7
 
TGeoArb8 * CryostatUpperArb8_8
 
TGeoArb8 * CryostatUpperArb8_9
 
TGeoArb8 * CryostatUpperArb8_10
 
TGeoTranslation * CryostatUpperTranslation
 
Double_tCryostatTopArb8XY_1
 
Double_tCryostatTopArb8XY_2
 
Double_tCryostatTopArb8XY_3
 
Double_tCryostatTopArb8XY_4
 
TGeoArb8 * CryostatTopArb8_1
 
TGeoArb8 * CryostatTopArb8_2
 
TGeoArb8 * CryostatTopArb8_3
 
TGeoArb8 * CryostatTopArb8_4
 
TGeoTranslation * CryostatTopTranslation
 

Detailed Description

Definition at line 12 of file PndGeoHypGeDoubleCluster.h.

Constructor & Destructor Documentation

PndGeoHypGeDoubleCluster::PndGeoHypGeDoubleCluster ( )

Definition at line 13 of file PndGeoHypGeDoubleCluster.cxx.

14 {
15  // Constructor
16 }
PndGeoHypGeDoubleCluster::PndGeoHypGeDoubleCluster ( TGeoMedium *  ExtGe,
TGeoMedium *  ExtAl,
Int_t  ExtClusterNumber 
)

Definition at line 18 of file PndGeoHypGeDoubleCluster.cxx.

References PndGeoHypGeCluster::Al, PndGeoHypGeCluster::ClusterNumber, PndGeoHypGeBase::CoordinatesInputArray, CryostatFrontThickness, CryostatLowerArb8Heigt, CryostatMiddleArb8Heigt, CryostatTopThickness, CryostatUpperArb8Heigt, Double_t, PndGeoHypGeBase::FillInputArray(), PndGeoHypGeBase::FillZValues(), PndGeoHypGeCluster::Ge, MakeTop, PndGeoHypGeCluster::NumberOfCryostatEdges, PndGeoHypGeCluster::NumberOfDifferentZValues, NumberOfFrontArb8, NumberOfTopArb8, PndGeoHypGeCluster::NumberOfXYInput, PndGeoHypGeBase::ParametersInputFile, PndGeoHypGeCluster::StartClusterNumber, and PndGeoHypGeBase::ZValuesInputArray.

19 {
20  MakeTop = true;
21 
22  Ge = ExtGe;
23  Al = ExtAl;
24  ClusterNumber= ExtClusterNumber;
25  StartClusterNumber = ExtClusterNumber;
31  //ClusterAssembly = new TGeoVolumeAssembly("ClusterAssembly"); //z = 0 only once, every other z value twice (outer and inner); always x and y coordinate
32 
33  //read coordinates from file
34  char* InputTitleBuffer;
37  string Filename = getenv("VMCWORKDIR");
38  Filename +="/hypGe/geometry/PndGeoHypGeDoubleClusterParfile.txt";
39 
40  ParametersInputFile.open(Filename.data());
43  ParametersInputFile.close();
44 
46  CryostatLowerArb8Heigt = ZValuesInputArray[2]-ZValuesInputArray[1];
47  CryostatMiddleArb8Heigt= ZValuesInputArray[3]-ZValuesInputArray[2];
48  CryostatUpperArb8Heigt= ZValuesInputArray[4]-ZValuesInputArray[3];
50 }
void FillZValues(Int_t NumberofDifferentZValues)
ifstream ParametersInputFile
Double_t
Double_t * ZValuesInputArray
Double_t * CoordinatesInputArray
void FillInputArray(Int_t NumberOfPoints, Int_t NumberOfXYInput)
PndGeoHypGeDoubleCluster::~PndGeoHypGeDoubleCluster ( )

Definition at line 55 of file PndGeoHypGeDoubleCluster.cxx.

56 {
57  cout << "Destrucor called" << endl;
58 };

Member Function Documentation

void PndGeoHypGeDoubleCluster::BuildCryostat ( )
virtual

Implements PndGeoHypGeCluster.

Definition at line 98 of file PndGeoHypGeDoubleCluster.cxx.

References PndGeoHypGeCluster::Al, PndGeoHypGeBase::BuildTArb8Array(), PndGeoHypGeBase::BuildTArb8FrontArray(), PndGeoHypGeBase::BuildTArb8TopArray(), PndGeoHypGeCluster::ClusterAssembly, PndGeoHypGeCluster::ClusterNumber, PndGeoHypGeCluster::Cryostat, PndGeoHypGeCluster::CryostatCombiTrans, CryostatFrontArb8_1, CryostatFrontArb8_2, CryostatFrontArb8_3, CryostatFrontArb8_4, CryostatFrontArb8XY_1, CryostatFrontArb8XY_2, CryostatFrontArb8XY_3, CryostatFrontArb8XY_4, CryostatFrontThickness, CryostatFrontTranslation, CryostatLowerArb8_1, CryostatLowerArb8_10, CryostatLowerArb8_2, CryostatLowerArb8_3, CryostatLowerArb8_4, CryostatLowerArb8_5, CryostatLowerArb8_6, CryostatLowerArb8_7, CryostatLowerArb8_8, CryostatLowerArb8_9, CryostatLowerArb8Heigt, CryostatLowerArb8XY_1, CryostatLowerArb8XY_10, CryostatLowerArb8XY_2, CryostatLowerArb8XY_3, CryostatLowerArb8XY_4, CryostatLowerArb8XY_5, CryostatLowerArb8XY_6, CryostatLowerArb8XY_7, CryostatLowerArb8XY_8, CryostatLowerArb8XY_9, CryostatLowerTranslation, CryostatMiddleArb8_1, CryostatMiddleArb8_10, CryostatMiddleArb8_2, CryostatMiddleArb8_3, CryostatMiddleArb8_4, CryostatMiddleArb8_5, CryostatMiddleArb8_6, CryostatMiddleArb8_7, CryostatMiddleArb8_8, CryostatMiddleArb8_9, CryostatMiddleArb8Heigt, CryostatMiddleArb8XY_1, CryostatMiddleArb8XY_10, CryostatMiddleArb8XY_2, CryostatMiddleArb8XY_3, CryostatMiddleArb8XY_4, CryostatMiddleArb8XY_5, CryostatMiddleArb8XY_6, CryostatMiddleArb8XY_7, CryostatMiddleArb8XY_8, CryostatMiddleArb8XY_9, CryostatMiddleTranslation, PndGeoHypGeCluster::CryostatShape, CryostatTopArb8_1, CryostatTopArb8_2, CryostatTopArb8_3, CryostatTopArb8_4, CryostatTopArb8XY_1, CryostatTopArb8XY_2, CryostatTopArb8XY_3, CryostatTopArb8XY_4, CryostatTopThickness, CryostatTopTranslation, CryostatUpperArb8_1, CryostatUpperArb8_10, CryostatUpperArb8_2, CryostatUpperArb8_3, CryostatUpperArb8_4, CryostatUpperArb8_5, CryostatUpperArb8_6, CryostatUpperArb8_7, CryostatUpperArb8_8, CryostatUpperArb8_9, CryostatUpperArb8Heigt, CryostatUpperArb8XY_1, CryostatUpperArb8XY_10, CryostatUpperArb8XY_2, CryostatUpperArb8XY_3, CryostatUpperArb8XY_4, CryostatUpperArb8XY_5, CryostatUpperArb8XY_6, CryostatUpperArb8XY_7, CryostatUpperArb8XY_8, CryostatUpperArb8XY_9, CryostatUpperTranslation, Double_t, i, MakeTop, PndGeoHypGeCluster::NumberOfCryostatEdges, PndGeoHypGeCluster::NumberOfDifferentZValues, NumberOfFrontArb8, NumberOfTopArb8, and PndGeoHypGeCluster::NumberOfXYInput.

99 {
100  // the cryostat is a combination front, side and top parts. The front and the top is build of 4 TGeoArb8. The side parts are split into 10 lower, 10 middle and 10 upper parts. All are TGeoArb8. This parts are all combined to a TGeoCompositeShape
101 
102  string CompositeShapeExpression;
103 //the front of the cryostat
104 
113 
114  CryostatFrontArb8_1 = new TGeoArb8 ("CryostatDoubleFrontArb8_1",CryostatFrontThickness/2,CryostatFrontArb8XY_1);
115  CryostatFrontArb8_2 = new TGeoArb8 ("CryostatDoubleFrontArb8_2",CryostatFrontThickness/2,CryostatFrontArb8XY_2);
116  CryostatFrontArb8_3 = new TGeoArb8 ("CryostatDoubleFrontArb8_3",CryostatFrontThickness/2,CryostatFrontArb8XY_3);
117  CryostatFrontArb8_4 = new TGeoArb8 ("CryostatDoubleFrontArb8_4",CryostatFrontThickness/2,CryostatFrontArb8XY_4);
118 
119  CryostatFrontTranslation = new TGeoTranslation("CryostatDoubleFrontTranslation",0,0,CryostatFrontThickness/2);
120  CryostatFrontTranslation->RegisterYourself();
121 
122  for (Int_t i = 1; i < NumberOfFrontArb8+1; i++)
123  {
124  char buffer[100];
125  sprintf(buffer, "CryostatDoubleFrontArb8_%d : CryostatDoubleFrontTranslation",i);
126  CompositeShapeExpression += buffer;
127  //if (i<NumberOfFrontArb8) //uncomment if last part of composite shape
128  {
129  CompositeShapeExpression += "+";
130  }
131  }
132 
133 //the lower part of the cryostat
134 
155 
156 
157 
158  CryostatLowerArb8_1 = new TGeoArb8 ("CryostatDoubleLowerArb8_1",CryostatLowerArb8Heigt/2,CryostatLowerArb8XY_1);
159  CryostatLowerArb8_2 = new TGeoArb8 ("CryostatDoubleLowerArb8_2",CryostatLowerArb8Heigt/2,CryostatLowerArb8XY_2);
160  CryostatLowerArb8_3 = new TGeoArb8 ("CryostatDoubleLowerArb8_3",CryostatLowerArb8Heigt/2,CryostatLowerArb8XY_3);
161  CryostatLowerArb8_4 = new TGeoArb8 ("CryostatDoubleLowerArb8_4",CryostatLowerArb8Heigt/2,CryostatLowerArb8XY_4);
162  CryostatLowerArb8_5 = new TGeoArb8 ("CryostatDoubleLowerArb8_5",CryostatLowerArb8Heigt/2,CryostatLowerArb8XY_5);
163  CryostatLowerArb8_6 = new TGeoArb8 ("CryostatDoubleLowerArb8_6",CryostatLowerArb8Heigt/2,CryostatLowerArb8XY_6);
164  CryostatLowerArb8_7 = new TGeoArb8 ("CryostatDoubleLowerArb8_7",CryostatLowerArb8Heigt/2,CryostatLowerArb8XY_7);
165  CryostatLowerArb8_8 = new TGeoArb8 ("CryostatDoubleLowerArb8_8",CryostatLowerArb8Heigt/2,CryostatLowerArb8XY_8);
166  CryostatLowerArb8_9 = new TGeoArb8 ("CryostatDoubleLowerArb8_9",CryostatLowerArb8Heigt/2,CryostatLowerArb8XY_9);
167  CryostatLowerArb8_10 = new TGeoArb8 ("CryostatDoubleLowerArb8_10",CryostatLowerArb8Heigt/2,CryostatLowerArb8XY_10);
168 
169  CryostatLowerTranslation = new TGeoTranslation("CryostatDoubleLowerTranslation",0,0,CryostatFrontThickness+CryostatLowerArb8Heigt/2);
170  CryostatLowerTranslation->RegisterYourself();
171 
172  for (Int_t i = 1; i < NumberOfCryostatEdges+1; i++)
173  {
174  char buffer[100];
175  sprintf(buffer, "CryostatDoubleLowerArb8_%d : CryostatDoubleLowerTranslation",i);
176  CompositeShapeExpression += buffer;
177  //if (i<NumberOfCryostatEdges) //uncomment if last part of composite shape
178  {
179  CompositeShapeExpression += "+";
180  }
181  }
182 
183 //the middle part of the cryostat
184 
205 
206 
207 
208  CryostatMiddleArb8_1 = new TGeoArb8 ("CryostatDoubleMiddleArb8_1",CryostatMiddleArb8Heigt/2,CryostatMiddleArb8XY_1);
209  CryostatMiddleArb8_2 = new TGeoArb8 ("CryostatDoubleMiddleArb8_2",CryostatMiddleArb8Heigt/2,CryostatMiddleArb8XY_2);
210  CryostatMiddleArb8_3 = new TGeoArb8 ("CryostatDoubleMiddleArb8_3",CryostatMiddleArb8Heigt/2,CryostatMiddleArb8XY_3);
211  CryostatMiddleArb8_4 = new TGeoArb8 ("CryostatDoubleMiddleArb8_4",CryostatMiddleArb8Heigt/2,CryostatMiddleArb8XY_4);
212  CryostatMiddleArb8_5 = new TGeoArb8 ("CryostatDoubleMiddleArb8_5",CryostatMiddleArb8Heigt/2,CryostatMiddleArb8XY_5);
213  CryostatMiddleArb8_6 = new TGeoArb8 ("CryostatDoubleMiddleArb8_6",CryostatMiddleArb8Heigt/2,CryostatMiddleArb8XY_6);
214  CryostatMiddleArb8_7 = new TGeoArb8 ("CryostatDoubleMiddleArb8_7",CryostatMiddleArb8Heigt/2,CryostatMiddleArb8XY_7);
215  CryostatMiddleArb8_8 = new TGeoArb8 ("CryostatDoubleMiddleArb8_8",CryostatMiddleArb8Heigt/2,CryostatMiddleArb8XY_8);
216  CryostatMiddleArb8_9 = new TGeoArb8 ("CryostatDoubleMiddleArb8_9",CryostatMiddleArb8Heigt/2,CryostatMiddleArb8XY_9);
217  CryostatMiddleArb8_10 = new TGeoArb8 ("CryostatDoubleMiddleArb8_10",CryostatMiddleArb8Heigt/2,CryostatMiddleArb8XY_10);
218 
219  CryostatMiddleTranslation = new TGeoTranslation("CryostatDoubleMiddleTranslation",0,0,CryostatFrontThickness +CryostatLowerArb8Heigt+CryostatMiddleArb8Heigt/2);
220  CryostatMiddleTranslation->RegisterYourself();
221 
222  for (Int_t i = 1; i < NumberOfCryostatEdges+1; i++)
223  {
224  char buffer[100];
225  sprintf(buffer, "CryostatDoubleMiddleArb8_%d : CryostatDoubleMiddleTranslation",i);
226  CompositeShapeExpression += buffer;
227  //if (i< NumberOfCryostatEdges) //uncomment if last part of composite shape
228  {
229  CompositeShapeExpression += "+";
230  }
231  }
232 
233 
234  //the upper part of the cryostat
235 
256 
257  CryostatUpperArb8_1 = new TGeoArb8 ("CryostatDoubleUpperArb8_1",CryostatUpperArb8Heigt/2,CryostatUpperArb8XY_1);
258  CryostatUpperArb8_2 = new TGeoArb8 ("CryostatDoubleUpperArb8_2",CryostatUpperArb8Heigt/2,CryostatUpperArb8XY_2);
259  CryostatUpperArb8_3 = new TGeoArb8 ("CryostatDoubleUpperArb8_3",CryostatUpperArb8Heigt/2,CryostatUpperArb8XY_3);
260  CryostatUpperArb8_4 = new TGeoArb8 ("CryostatDoubleUpperArb8_4",CryostatUpperArb8Heigt/2,CryostatUpperArb8XY_4);
261  CryostatUpperArb8_5 = new TGeoArb8 ("CryostatDoubleUpperArb8_5",CryostatUpperArb8Heigt/2,CryostatUpperArb8XY_5);
262  CryostatUpperArb8_6 = new TGeoArb8 ("CryostatDoubleUpperArb8_6",CryostatUpperArb8Heigt/2,CryostatUpperArb8XY_6);
263  CryostatUpperArb8_7 = new TGeoArb8 ("CryostatDoubleUpperArb8_7",CryostatUpperArb8Heigt/2,CryostatUpperArb8XY_7);
264  CryostatUpperArb8_8 = new TGeoArb8 ("CryostatDoubleUpperArb8_8",CryostatUpperArb8Heigt/2,CryostatUpperArb8XY_8);
265  CryostatUpperArb8_9 = new TGeoArb8 ("CryostatDoubleUpperArb8_9",CryostatUpperArb8Heigt/2,CryostatUpperArb8XY_9);
266  CryostatUpperArb8_10 = new TGeoArb8 ("CryostatDoubleUpperArb8_10",CryostatUpperArb8Heigt/2,CryostatUpperArb8XY_10);
267 
269  CryostatUpperTranslation->RegisterYourself();
270 
271  for (Int_t i = 1; i < NumberOfCryostatEdges+1; i++)
272  {
273  char buffer[100];
274  sprintf(buffer, "CryostatDoubleUpperArb8_%d : CryostatDoubleUpperTranslation",i);
275  CompositeShapeExpression += buffer;
276 
277  if (i<NumberOfCryostatEdges)
278  {
279  CompositeShapeExpression += "+";
280  }
281  if (i==NumberOfCryostatEdges && MakeTop )
282  {
283  CompositeShapeExpression += "+";
284  }
285  }
286 
287 //the top of the cryostat
288 
289  CryostatTopArb8XY_1 = new Double_t[16];
291  CryostatTopArb8XY_2 = new Double_t[16];
293  CryostatTopArb8XY_3 = new Double_t[16];
295  CryostatTopArb8XY_4 = new Double_t[16];
297 
298  CryostatTopArb8_1 = new TGeoArb8 ("CryostatDoubleTopArb8_1",CryostatTopThickness/2,CryostatTopArb8XY_1);
299  CryostatTopArb8_2 = new TGeoArb8 ("CryostatDoubleTopArb8_2",CryostatTopThickness/2,CryostatTopArb8XY_2);
300  CryostatTopArb8_3 = new TGeoArb8 ("CryostatDoubleTopArb8_3",CryostatTopThickness/2,CryostatTopArb8XY_3);
301  CryostatTopArb8_4 = new TGeoArb8 ("CryostatDoubleTopArb8_4",CryostatTopThickness/2,CryostatTopArb8XY_4);
302 
304  CryostatTopTranslation->RegisterYourself();
305 
306 
307  if (MakeTop)
308  {
309  for (Int_t i = 1; i < NumberOfTopArb8+1; i++)
310  {
311  char buffer[100];
312  sprintf(buffer, "CryostatDoubleTopArb8_%d : CryostatDoubleTopTranslation",i);
313  CompositeShapeExpression += buffer;
314  if (i<NumberOfTopArb8) //uncomment if last part of composite shape
315  {
316  CompositeShapeExpression += "+";
317  }
318  }
319  }
320 
321  //cout << CompositeShapeExpression << endl;
322 
323 
324  //combine the cryostat
325  CryostatShape = new TGeoCompositeShape("CryostatShape",CompositeShapeExpression.data() );
326  Cryostat = new TGeoVolume("Cryostat",CryostatShape,Al);
327  Cryostat->SetLineColor(kGreen);
328  Cryostat->SetFillColor(kGreen);
329  //bring the Cryostat in the right position
330  CryostatCombiTrans = new TGeoCombiTrans("CryostatCombiTrans",0,0,0,new TGeoRotation("CryostatRotation",0,180,0));
331  CryostatCombiTrans->RegisterYourself();
332 
334 
335 };
TGeoTranslation * CryostatFrontTranslation
void BuildTArb8Array(Double_t *OutputArray, Int_t Point1, Int_t Point2, Int_t Offset1, Int_t Offset2, Int_t ShiftValue, Int_t NumberOfPoints)
TGeoCombiTrans * CryostatCombiTrans
Int_t i
Definition: run_full.C:25
TGeoVolume * ClusterAssembly
void BuildTArb8FrontArray(Double_t *OutputArray, Int_t Point1, Int_t Point2, Int_t Point3, Int_t Point4, Int_t NumberOfPoints)
TGeoCompositeShape * CryostatShape
Double_t
TGeoTranslation * CryostatLowerTranslation
TGeoTranslation * CryostatTopTranslation
TGeoTranslation * CryostatMiddleTranslation
void BuildTArb8TopArray(Double_t *OutputArray, Int_t Point1, Int_t Point2, Int_t Point3, Int_t Point4, Int_t Offset, Int_t NumberOfPoints)
TGeoTranslation * CryostatUpperTranslation
void PndGeoHypGeDoubleCluster::BuildCrystals ( Int_t *  CrystalNumber)
virtual

Implements PndGeoHypGeCluster.

Definition at line 62 of file PndGeoHypGeDoubleCluster.cxx.

References PndGeoHypGeCluster::Al, PndGeoHypGeCluster::ClusterAssembly, PndGeoHypGeCluster::ClusterNumber, PndGeoHypGeCluster::Crystal1, PndGeoHypGeCluster::Crystal1Number, PndGeoHypGeCluster::Crystal1Position, PndGeoHypGeCluster::Crystal1Rotation, PndGeoHypGeCluster::Crystal2, PndGeoHypGeCluster::Crystal2Number, PndGeoHypGeCluster::Crystal2Position, PndGeoHypGeCluster::Crystal2Rotation, DoubleCrystalYOffset, DoubleCrystalZOffset, PndGeoHypGeCluster::Ge, and PndGeoHypGeCrystal::PlaceCrystal().

63 {
64  //create 2 crystals. The copy number of a crystal is composed of the number of the cluster and a running number for every placed crystal like e.g.: cluster 4, crystal 7: 407 ; cluster 11, crystal 21: 1121
65  Crystal1Number = *CrystalNumber;
66  *CrystalNumber+=1;
67  Crystal2Number = *CrystalNumber;
68  *CrystalNumber+=1;
69  cout << "Cluster:" << ClusterNumber << "\tCrystal1Number: "<< Crystal1Number<<endl;
70  cout << "Cluster:" << ClusterNumber << "\tCrystal2Number: "<< Crystal2Number<<endl;
71 
74 
75 
76  //set positions of the 2 crystals
77 
78  DoubleCrystalYOffset = 6.1141/2; //measured in CAD
79  DoubleCrystalZOffset = 0.7704; //measured in CAD
80 
81  Crystal1Rotation = new TGeoRotation("Crystal1Rotation", 0,-4.125,0); //angles measured in CAD drawing
82  Crystal1Rotation ->RegisterYourself();
83  Crystal2Rotation = new TGeoRotation("Crystal2Rotation", 0,4.125,0);
84  Crystal2Rotation ->RegisterYourself();
85 
86  //maybe some signs needs adaption
88  Crystal1Position->RegisterYourself();
90  Crystal2Position->RegisterYourself();
91 
92 
95 };
TGeoRotation * Crystal2Rotation
PndGeoHypGeCrystal * Crystal2
TGeoVolume * ClusterAssembly
TGeoCombiTrans * Crystal2Position
PndGeoHypGeCrystal * Crystal1
void PlaceCrystal(TGeoVolume *top, TGeoMatrix *CrystalPlaceAndDirectionTranslation)
TGeoCombiTrans * Crystal1Position
TGeoRotation * Crystal1Rotation
void PndGeoHypGeBase::BuildTArb8Array ( Double_t OutputArray,
Int_t  Point1,
Int_t  Point2,
Int_t  Offset1,
Int_t  Offset2,
Int_t  ShiftValue,
Int_t  NumberOfPoints 
)
inherited

Definition at line 43 of file PndGeoHypGeBase.cxx.

Referenced by BuildCryostat().

44 {
45  //Point1(2) are running with every single fragment of the cryostat.
46  //Offset11(2) are increased with every new layer (lower, middle, upper, ...) of the cryostat
47  Int_t Offset3 = Offset1 +ShiftValue;
48  Int_t Offset4 = Offset2 +ShiftValue;
49  OutputArray[0]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset1];
50  OutputArray[1]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset1+1];
51  OutputArray[2]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset3];
52  OutputArray[3]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset3+1];
53  OutputArray[4]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset3];
54  OutputArray[5]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset3+1];
55  OutputArray[6]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset1];
56  OutputArray[7]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset1+1];
57  OutputArray[8]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset2];
58  OutputArray[9]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset2+1];
59  OutputArray[10]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset4];
60  OutputArray[11]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset4+1];
61  OutputArray[12]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset4];
62  OutputArray[13]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset4+1];
63  OutputArray[14]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset2];
64  OutputArray[15]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset2+1];
65 }
Double_t * CoordinatesInputArray
void PndGeoHypGeBase::BuildTArb8Array ( Double_t OutputArray,
Int_t  Point1,
Int_t  Point2,
Int_t  Offset1,
Int_t  Offset2,
Int_t  Offset3,
Int_t  Offset4,
Int_t  NumberOfPoints 
)
inherited

Definition at line 67 of file PndGeoHypGeBase.cxx.

68 {
69  OutputArray[0]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset1];
70  OutputArray[1]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset1+1];
71  OutputArray[2]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset3];
72  OutputArray[3]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset3+1];
73  OutputArray[4]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset3];
74  OutputArray[5]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset3+1];
75  OutputArray[6]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset1];
76  OutputArray[7]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset1+1];
77  OutputArray[8]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset2];
78  OutputArray[9]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset2+1];
79  OutputArray[10]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset4];
80  OutputArray[11]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset4+1];
81  OutputArray[12]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset4];
82  OutputArray[13]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset4+1];
83  OutputArray[14]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset2];
84  OutputArray[15]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset2+1];
85 }
Double_t * CoordinatesInputArray
void PndGeoHypGeBase::BuildTArb8FrontArray ( Double_t OutputArray,
Int_t  Point1,
Int_t  Point2,
Int_t  Point3,
Int_t  Point4,
Int_t  NumberOfPoints 
)
inherited

Definition at line 87 of file PndGeoHypGeBase.cxx.

Referenced by BuildCryostat().

88 {
89  OutputArray[0]= CoordinatesInputArray[(Point1-1)* NumberOfPoints];
90  OutputArray[1]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+1];
91  OutputArray[2]= CoordinatesInputArray[(Point2-1)* NumberOfPoints];
92  OutputArray[3]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+1];
93  OutputArray[4]= CoordinatesInputArray[(Point3-1)* NumberOfPoints];
94  OutputArray[5]= CoordinatesInputArray[(Point3-1)* NumberOfPoints+1];
95  OutputArray[6]= CoordinatesInputArray[(Point4-1)* NumberOfPoints];
96  OutputArray[7]= CoordinatesInputArray[(Point4-1)* NumberOfPoints+1];
97  OutputArray[8]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2];
98  OutputArray[9]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2+1];
99  OutputArray[10]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2];
100  OutputArray[11]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2+1];
101  OutputArray[12]= CoordinatesInputArray[(Point3-1)* NumberOfPoints+2];
102  OutputArray[13]= CoordinatesInputArray[(Point3-1)* NumberOfPoints+2+1];
103  OutputArray[14]= CoordinatesInputArray[(Point4-1)* NumberOfPoints+2];
104  OutputArray[15]= CoordinatesInputArray[(Point4-1)* NumberOfPoints+2+1];
105  //for( Int_t i = 0; i < 16; i++)
106  //cout << "Top_" << i <<": " << OutputArray[i] << endl;
107 }
Double_t * CoordinatesInputArray
void PndGeoHypGeBase::BuildTArb8TopArray ( Double_t OutputArray,
Int_t  Point1,
Int_t  Point2,
Int_t  Point3,
Int_t  Point4,
Int_t  Offset,
Int_t  NumberOfPoints 
)
inherited

Definition at line 109 of file PndGeoHypGeBase.cxx.

Referenced by BuildCryostat().

110 {
111  OutputArray[0]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset];
112  OutputArray[1]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset+1];
113  OutputArray[2]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset];
114  OutputArray[3]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset+1];
115  OutputArray[4]= CoordinatesInputArray[(Point3-1)* NumberOfPoints+2*Offset];
116  OutputArray[5]= CoordinatesInputArray[(Point3-1)* NumberOfPoints+2*Offset+1];
117  OutputArray[6]= CoordinatesInputArray[(Point4-1)* NumberOfPoints+2*Offset];
118  OutputArray[7]= CoordinatesInputArray[(Point4-1)* NumberOfPoints+2*Offset+1];
119  OutputArray[8]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset];
120  OutputArray[9]= CoordinatesInputArray[(Point1-1)* NumberOfPoints+2*Offset+1];
121  OutputArray[10]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset];
122  OutputArray[11]= CoordinatesInputArray[(Point2-1)* NumberOfPoints+2*Offset+1];
123  OutputArray[12]= CoordinatesInputArray[(Point3-1)* NumberOfPoints+2*Offset];
124  OutputArray[13]= CoordinatesInputArray[(Point3-1)* NumberOfPoints+2*Offset+1];
125  OutputArray[14]= CoordinatesInputArray[(Point4-1)* NumberOfPoints+2*Offset];
126  OutputArray[15]= CoordinatesInputArray[(Point4-1)* NumberOfPoints+2*Offset+1];
127  //for( Int_t i = 0; i < 16; i++)
128  // cout << "Top_" << i <<": " << OutputArray[i] << endl;
129 }
Double_t * CoordinatesInputArray
PndGeoHypGeBase::ClassDef ( PndGeoHypGeBase  ,
 
)
inherited
PndGeoHypGeCluster::ClassDef ( PndGeoHypGeCluster  ,
 
)
inherited
void PndGeoHypGeBase::FillInputArray ( Int_t  NumberOfPoints,
Int_t  NumberOfXYInput 
)
inherited

Definition at line 130 of file PndGeoHypGeBase.cxx.

Referenced by PndGeoHypGeDoubleCluster().

131 {
132  for (Int_t iPoint = 0; iPoint < NumberOfPoints;iPoint++)
133  {
134  if (!ParametersInputFile)
135  {
136  cout << "Inputfile does not exist!" << endl;
137  }
138  else if (ParametersInputFile.good())
139  {
140  string InputBuffer;
141  char* pEnd;
142  getline(ParametersInputFile,InputBuffer);
143  //cout << InputBuffer << endl;
144 
145  CoordinatesInputArray[iPoint*NumberOfXYInput] = strtod(InputBuffer.data(),&pEnd);
146  //cout << "Value_0" <<": " <<CoordinatesInputArray[iPoint*NumberOfXYInput] << endl;
147  for (Int_t iValues = 1; iValues < NumberOfXYInput; iValues++)
148  {
149  CoordinatesInputArray[iPoint*NumberOfXYInput+iValues] = strtod(pEnd,&pEnd);
150  //cout << "Value_" << iValues <<": " <<CoordinatesInputArray[iPoint*NumberOfXYInput+iValues] << endl;
151  }
152  }
153  }
154 }
ifstream ParametersInputFile
Double_t * CoordinatesInputArray
void PndGeoHypGeBase::FillZValues ( Int_t  NumberofDifferentZValues)
inherited

Definition at line 156 of file PndGeoHypGeBase.cxx.

Referenced by PndGeoHypGeDoubleCluster().

157 {
158  if (!ParametersInputFile)
159  {
160  cout << "Inputfile does not exist!" << endl;
161  }
162  else if (ParametersInputFile.good())
163  {
164  string InputBuffer;
165  char* pEnd;
166  getline(ParametersInputFile,InputBuffer);
167  //cout << InputBuffer << endl;
168 
169  ZValuesInputArray[0] = strtod(InputBuffer.data(),&pEnd);
170  //cout << "Value_0" <<": " <<ZValuesInputArray[0] << endl;
171  for (Int_t iValues = 1; iValues < NumberofDifferentZValues; iValues++)
172  {
173  ZValuesInputArray[iValues] = strtod(pEnd,&pEnd);
174  //cout << "Value_" << iValues <<": " <<ZValuesInputArray[iValues] << endl;
175  }
176  }
177 }
ifstream ParametersInputFile
Double_t * ZValuesInputArray
Int_t PndGeoHypGeCluster::GetClusterNumber ( )
inherited
void PndGeoHypGeCluster::GetExternalParameters ( Int_t  NumberOfValues,
Double_t DataArray 
)
inherited

Definition at line 44 of file PndGeoHypGeCluster.cxx.

45 {
47  {
48  cout << "Inputfile does not exist!" << endl;
49  }
50  else if (ParametersInputFile.good())
51  {
52  string InputBuffer;
53  char* pEnd;
54  getline(ParametersInputFile,InputBuffer);
55  //cout << InputBuffer << endl;
56 
57  DataArray[0] = strtod(InputBuffer.data(),&pEnd);
58  for (Int_t iValues = 1; iValues < NumberOfValues; iValues++)
59  {
60  DataArray[iValues] = strtod(pEnd,&pEnd);
61  //cout << "Value_" << iValues <<": " <<DataArray[iValues] << endl;
62  }
63  }
64 }
ifstream ParametersInputFile
Int_t PndGeoHypGeCluster::GetNumberOfCopies ( )
inherited

Definition at line 39 of file PndGeoHypGeCluster.cxx.

Int_t PndGeoHypGeCluster::GetStartClusterNumber ( )
inherited

Definition at line 33 of file PndGeoHypGeCluster.cxx.

34 {
35  return StartClusterNumber;
36 }
void PndGeoHypGeCluster::PlaceCluster ( TGeoVolume *  top,
TGeoMatrix *  ClusterPlaceAndDirectionTranslation,
Int_t *  CrystalNumber 
)
inherited

Definition at line 95 of file PndGeoHypGeCluster.cxx.

Referenced by hypGe_GeoBuilder_template(), hypGeGeoBuilderDEGASBall40_6sym_offset20(), hypGeGeoBuilderDEGASStraight40_offset15(), hypGeGeoBuilderDEGASStraight40_offset20(), hypGeGeoBuilderDouble30cmRadius(), hypGeGeoBuilderDouble30cmRadius_test(), hypGeGeoBuilderSingle(), hypGeGeoBuilderTriple30cmRadius(), hypGeGeoBuilderTriple30cmRadius_test(), hypGeGeoBuilderTriple30cmRadiusCrystalsOnly(), hypGeGeoBuilderTripleBall40Offset10Geometry(), hypGeGeoBuilderTripleBall40Offset10Geometry_STTFitting(), hypGeGeoBuilderTripleBall40Offset10GeometryCrystalsOnly(), hypGeGeoBuilderTripleBall40Offset20Geometry(), hypGeGeoBuilderTripleBall40Offset20Geometry_STTFitting(), hypGeGeoBuilderTripleBall40Offset20Geometry_STTFittingCrystalsOnly(), hypGeGeoBuilderTripleBall40Offset20GeometryCrystalsOnly(), hypGeGeoBuilderTripleStraightGeometry(), hypGeGeoBuilderTripleStraightGeometryCrystalsOnly(), hypGeGeoCOSYGermaniums(), hypGeGeoCOSYsetup2014(), and hypGeGeoCOSYsetup2014Passives().

96 {
97  ClusterAssembly = new TGeoVolumeAssembly("ClusterAssembly");
98  BuildCrystals(CrystalNumber);
99  BuildCryostat();
100  SetCryostatColor(kGreen);
102  top->AddNode(ClusterAssembly,ClusterNumber,ClusterPlaceAndDirectionTranslation);
103  ClusterNumber++;
104 };
TGeoVolume * ClusterAssembly
void SetCryostatColor(Color_t ExtColor)
TGeoVolume * top
virtual void BuildCrystals(Int_t *CrystalNumber)=0
void SetCryostatTransparency(Int_t ExtTransparency)
virtual void BuildCryostat()=0
void PndGeoHypGeCluster::PlaceCluster ( TGeoVolume *  top,
Double_t  x,
Double_t  y,
Double_t  z,
Double_t  GlobalZOffset,
Double_t  phi,
Double_t  theta,
Double_t  psi,
Int_t *  CrystalNumber 
)
inherited

Definition at line 107 of file PndGeoHypGeCluster.cxx.

References phi, theta, x, and y.

108 {
109  ClusterAssembly = new TGeoVolumeAssembly("ClusterAssembly");
110  BuildCrystals(CrystalNumber);
111  BuildCryostat();
112  SetCryostatColor(kGreen);
114 
117  ClusterPositionZ = z + GlobalZOffset;
118  ClusterEulerAnglePsi = psi;
121  TGeoRotation *TempClusterRotation = new TGeoRotation("TempClusterRotation",ClusterEulerAnglePsi,ClusterEulerAngleTheta,ClusterEulerAnglePhi);
122  TempClusterRotation->RegisterYourself();
123  top->AddNode(ClusterAssembly,ClusterNumber,new TGeoCombiTrans(ClusterPositionX,ClusterPositionY,ClusterPositionZ,TempClusterRotation));
124  ClusterNumber++;
125 };
TGeoVolume * ClusterAssembly
void SetCryostatColor(Color_t ExtColor)
TGeoVolume * top
virtual void BuildCrystals(Int_t *CrystalNumber)=0
Double_t z
Double_t x
void SetCryostatTransparency(Int_t ExtTransparency)
Double_t y
virtual void BuildCryostat()=0
void PndGeoHypGeCluster::PlaceCluster ( TGeoVolume *  top,
Double_t  GlobalZOffset,
Double_t  Radius,
Double_t  phi,
Double_t  theta,
Double_t  psi,
Int_t *  CrystalNumber 
)
inherited

Definition at line 127 of file PndGeoHypGeCluster.cxx.

References CAMath::Cos(), phi, Pi, CAMath::Sin(), and theta.

128 {
129  ClusterAssembly = new TGeoVolumeAssembly("ClusterAssembly");
130  BuildCrystals(CrystalNumber);
131  BuildCryostat();
132  SetCryostatColor(kGreen);
134 
135  ClusterPositionX = -Radius*TMath::Sin(TMath::Pi()/180*psi)*TMath::Sin(TMath::Pi()/180*theta);
136  ClusterPositionY = Radius*TMath::Cos(TMath::Pi()/180*psi)*TMath::Sin(TMath::Pi()/180*theta);
137  ClusterPositionZ = -Radius*TMath::Cos(TMath::Pi()/180*theta) + GlobalZOffset;
138  //cout << ClusterPositionZ << endl << endl;
139  ClusterEulerAnglePsi = psi;
142  TGeoRotation *TempClusterRotation = new TGeoRotation("TempClusterRotation",ClusterEulerAnglePsi,ClusterEulerAngleTheta,ClusterEulerAnglePhi);
143  TempClusterRotation->RegisterYourself();
144  top->AddNode(ClusterAssembly,ClusterNumber,new TGeoCombiTrans(ClusterPositionX,ClusterPositionY,ClusterPositionZ,TempClusterRotation));
145  ClusterNumber++;
146 
147 };
TGeoVolume * ClusterAssembly
static T Sin(const T &x)
Definition: PndCAMath.h:42
void SetCryostatColor(Color_t ExtColor)
static T Cos(const T &x)
Definition: PndCAMath.h:43
TGeoVolume * top
virtual void BuildCrystals(Int_t *CrystalNumber)=0
void SetCryostatTransparency(Int_t ExtTransparency)
Double_t Pi
virtual void BuildCryostat()=0
void PndGeoHypGeDoubleCluster::PrintNodes ( Int_t  nLevels)
virtual

Implements PndGeoHypGeCluster.

Definition at line 338 of file PndGeoHypGeDoubleCluster.cxx.

References PndGeoHypGeCluster::ClusterAssembly, PndGeoHypGeCluster::Crystal1, PndGeoHypGeCluster::Crystal2, PndGeoHypGeCrystal::GetNdaughters(), and PndGeoHypGeCrystal::PrintNodes().

Referenced by hypGeGeoBuilderDouble30cmRadius(), and hypGeGeoBuilderDouble30cmRadius_test().

339 {
340  if (nLevels == 0)
341  {
342  cout << "Nothing to Print, use higher number to go deeper in the tree." << endl;
343  }
344  if (nLevels > 0)
345  {
346  cout << "Printing the content of the cluster assembly." << endl;
347  cout <<endl << "Number of Nodes in cluster assembly: " << ClusterAssembly->GetNdaughters() << endl;
348  ClusterAssembly->PrintNodes();
349  }
350  if (nLevels > 1)
351  {
352  cout << "Printing the content of the crystal assemblies." << endl;
353  cout <<endl << "Number of Nodes in crystal assembly 1: " << Crystal1->GetNdaughters() << endl;
354  Crystal1->PrintNodes();
355  cout <<endl << "Number of Nodes in crystal assembly 2: " << Crystal2->GetNdaughters() << endl;
356  Crystal2->PrintNodes();
357  }
358 }
PndGeoHypGeCrystal * Crystal2
TGeoVolume * ClusterAssembly
PndGeoHypGeCrystal * Crystal1
void PndGeoHypGeBase::ReadCoordinatesAndAngles ( string  Filename,
Int_t  NumberOfCluster,
Double_t CoordinatesAndAngles 
)
inherited

Definition at line 179 of file PndGeoHypGeBase.cxx.

Referenced by hypGeGeoBuilderDEGASBall40_6sym_offset20(), hypGeGeoBuilderDEGASStraight40_offset15(), hypGeGeoBuilderDEGASStraight40_offset20(), hypGeGeoBuilderTripleBall40Offset10Geometry(), hypGeGeoBuilderTripleBall40Offset10Geometry_STTFitting(), hypGeGeoBuilderTripleBall40Offset10GeometryCrystalsOnly(), hypGeGeoBuilderTripleBall40Offset20Geometry(), hypGeGeoBuilderTripleBall40Offset20Geometry_STTFitting(), hypGeGeoBuilderTripleBall40Offset20Geometry_STTFittingCrystalsOnly(), hypGeGeoBuilderTripleBall40Offset20GeometryCrystalsOnly(), hypGeGeoBuilderTripleStraightGeometry(), and hypGeGeoBuilderTripleStraightGeometryCrystalsOnly().

180 {
181  string InputBuffer;
182  char* pEnd;
183  ifstream InputFile;
184  InputFile.open(Filename.data());
185  if (!InputFile)
186  {
187  cout << "Inputfile does not exist!" << endl;
188  }
189  else
190  {
191  cout << "Reading coordinates and angles from file" << endl;
192  for(Int_t iCluster = 0; iCluster < NumberOfCluster; iCluster++)
193  {
194  if (InputFile.good())
195  {
196 
197  getline(InputFile,InputBuffer);
198  //cout << InputBuffer << endl;
199  CoordinatesAndAngles[iCluster*6] = strtod(InputBuffer.data(),&pEnd);
200  //cout << "Value_0" <<": " <<CoordinatesAndAngles[iCluster*6] << endl;
201  for (Int_t iValues = 1; iValues < 6; iValues++)
202  {
203  CoordinatesAndAngles[iCluster*6+iValues] = strtod(pEnd,&pEnd);
204  //cout << "Value_" << iValues <<": " <<CoordinatesAndAngles[iCluster*6+iValues] << endl;
205  }
206  }
207  }
208  cout << "All read"<<endl;
209  }
210 }
void PndGeoHypGeCluster::SetCryostatColor ( Color_t  ExtColor)
inherited

Definition at line 86 of file PndGeoHypGeCluster.cxx.

87 {
88  //some make-up ;D
89 
90  Cryostat->SetLineColor(ExtColor);
91 
92 }
void PndGeoHypGeCluster::SetCryostatTransparency ( Int_t  ExtTransparency)
inherited

Definition at line 77 of file PndGeoHypGeCluster.cxx.

78 {
79  //some make-up ;D
80  CryostatTransparency = ExtTransparency;
81 
82  Cryostat->SetTransparency(CryostatTransparency);
83 
84 }
void PndGeoHypGeCluster::TrashCommentaryLineInFile ( )
inherited

Definition at line 65 of file PndGeoHypGeCluster.cxx.

66 {
68  {
69  cout << "Inputfile does not exist!" << endl;
70  }
71  else if (ParametersInputFile.good())
72  {
73  string InputBuffer;
74  getline(ParametersInputFile,InputBuffer);
75  }
76 }
ifstream ParametersInputFile

Member Data Documentation

TGeoMedium* PndGeoHypGeCluster::Al
protectedinherited
TGeoVolume* PndGeoHypGeCluster::ClusterAssembly
protectedinherited
Double_t PndGeoHypGeCluster::ClusterEulerAnglePhi
protectedinherited

Definition at line 264 of file PndGeoHypGeCluster.h.

Double_t PndGeoHypGeCluster::ClusterEulerAnglePsi
protectedinherited

Definition at line 262 of file PndGeoHypGeCluster.h.

Double_t PndGeoHypGeCluster::ClusterEulerAngleTheta
protectedinherited

Definition at line 263 of file PndGeoHypGeCluster.h.

Int_t PndGeoHypGeCluster::ClusterNumber
protectedinherited
Double_t PndGeoHypGeCluster::ClusterPositionX
protectedinherited

Definition at line 259 of file PndGeoHypGeCluster.h.

Double_t PndGeoHypGeCluster::ClusterPositionY
protectedinherited

Definition at line 260 of file PndGeoHypGeCluster.h.

Double_t PndGeoHypGeCluster::ClusterPositionZ
protectedinherited

Definition at line 261 of file PndGeoHypGeCluster.h.

TGeoVolume* PndGeoHypGeCluster::ColdFinger
protectedinherited

Definition at line 255 of file PndGeoHypGeCluster.h.

Referenced by PndGeoHypGeSingleCluster::BuildCryostat().

TGeoCompositeShape* PndGeoHypGeCluster::ColdFingerShape
protectedinherited

Definition at line 254 of file PndGeoHypGeCluster.h.

Referenced by PndGeoHypGeSingleCluster::BuildCryostat().

Double_t* PndGeoHypGeBase::CoordinatesInputArray
protectedinherited
TGeoVolume* PndGeoHypGeCluster::Cryostat
protectedinherited

Definition at line 250 of file PndGeoHypGeCluster.h.

Referenced by PndGeoHypGeSingleCluster::BuildCryostat(), and BuildCryostat().

TGeoCombiTrans* PndGeoHypGeCluster::CryostatCombiTrans
protectedinherited

Definition at line 249 of file PndGeoHypGeCluster.h.

Referenced by PndGeoHypGeSingleCluster::BuildCryostat(), and BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatFrontArb8_1
private

Definition at line 33 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatFrontArb8_2
private

Definition at line 34 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatFrontArb8_3
private

Definition at line 35 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatFrontArb8_4
private

Definition at line 36 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeCluster::CryostatFrontArb8_5
protectedinherited

Definition at line 63 of file PndGeoHypGeCluster.h.

Double_t* PndGeoHypGeDoubleCluster::CryostatFrontArb8XY_1
private

Definition at line 28 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatFrontArb8XY_2
private

Definition at line 29 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatFrontArb8XY_3
private

Definition at line 30 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatFrontArb8XY_4
private

Definition at line 31 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeCluster::CryostatFrontArb8XY_5
protectedinherited

Definition at line 57 of file PndGeoHypGeCluster.h.

Double_t PndGeoHypGeDoubleCluster::CryostatFrontThickness
private

Definition at line 22 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat(), and PndGeoHypGeDoubleCluster().

TGeoTranslation* PndGeoHypGeDoubleCluster::CryostatFrontTranslation
private

Definition at line 38 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatLowerArb8_1
private

Definition at line 51 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatLowerArb8_10
private

Definition at line 60 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeCluster::CryostatLowerArb8_11
protectedinherited

Definition at line 90 of file PndGeoHypGeCluster.h.

TGeoArb8* PndGeoHypGeCluster::CryostatLowerArb8_12
protectedinherited

Definition at line 91 of file PndGeoHypGeCluster.h.

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatLowerArb8_2
private

Definition at line 52 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatLowerArb8_3
private

Definition at line 53 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatLowerArb8_4
private

Definition at line 54 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatLowerArb8_5
private

Definition at line 55 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatLowerArb8_6
private

Definition at line 56 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatLowerArb8_7
private

Definition at line 57 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatLowerArb8_8
private

Definition at line 58 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatLowerArb8_9
private

Definition at line 59 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t PndGeoHypGeDoubleCluster::CryostatLowerArb8Heigt
private

Definition at line 23 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat(), and PndGeoHypGeDoubleCluster().

Double_t* PndGeoHypGeDoubleCluster::CryostatLowerArb8XY_1
private

Definition at line 40 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatLowerArb8XY_10
private

Definition at line 49 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeCluster::CryostatLowerArb8XY_11
protectedinherited

Definition at line 77 of file PndGeoHypGeCluster.h.

Double_t* PndGeoHypGeCluster::CryostatLowerArb8XY_12
protectedinherited

Definition at line 78 of file PndGeoHypGeCluster.h.

Double_t* PndGeoHypGeDoubleCluster::CryostatLowerArb8XY_2
private

Definition at line 41 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatLowerArb8XY_3
private

Definition at line 42 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatLowerArb8XY_4
private

Definition at line 43 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatLowerArb8XY_5
private

Definition at line 44 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatLowerArb8XY_6
private

Definition at line 45 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatLowerArb8XY_7
private

Definition at line 46 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatLowerArb8XY_8
private

Definition at line 47 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatLowerArb8XY_9
private

Definition at line 48 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoTranslation* PndGeoHypGeDoubleCluster::CryostatLowerTranslation
private

Definition at line 62 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatMiddleArb8_1
private

Definition at line 75 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatMiddleArb8_10
private

Definition at line 84 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeCluster::CryostatMiddleArb8_11
protectedinherited

Definition at line 118 of file PndGeoHypGeCluster.h.

TGeoArb8* PndGeoHypGeCluster::CryostatMiddleArb8_12
protectedinherited

Definition at line 119 of file PndGeoHypGeCluster.h.

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatMiddleArb8_2
private

Definition at line 76 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatMiddleArb8_3
private

Definition at line 77 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatMiddleArb8_4
private

Definition at line 78 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatMiddleArb8_5
private

Definition at line 79 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatMiddleArb8_6
private

Definition at line 80 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatMiddleArb8_7
private

Definition at line 81 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatMiddleArb8_8
private

Definition at line 82 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatMiddleArb8_9
private

Definition at line 83 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t PndGeoHypGeDoubleCluster::CryostatMiddleArb8Heigt
private

Definition at line 24 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat(), and PndGeoHypGeDoubleCluster().

Double_t* PndGeoHypGeDoubleCluster::CryostatMiddleArb8XY_1
private

Definition at line 64 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatMiddleArb8XY_10
private

Definition at line 73 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeCluster::CryostatMiddleArb8XY_11
protectedinherited

Definition at line 105 of file PndGeoHypGeCluster.h.

Double_t* PndGeoHypGeCluster::CryostatMiddleArb8XY_12
protectedinherited

Definition at line 106 of file PndGeoHypGeCluster.h.

Double_t* PndGeoHypGeDoubleCluster::CryostatMiddleArb8XY_2
private

Definition at line 65 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatMiddleArb8XY_3
private

Definition at line 66 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatMiddleArb8XY_4
private

Definition at line 67 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatMiddleArb8XY_5
private

Definition at line 68 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatMiddleArb8XY_6
private

Definition at line 69 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatMiddleArb8XY_7
private

Definition at line 70 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatMiddleArb8XY_8
private

Definition at line 71 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatMiddleArb8XY_9
private

Definition at line 72 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoTranslation* PndGeoHypGeDoubleCluster::CryostatMiddleTranslation
private

Definition at line 86 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoCompositeShape* PndGeoHypGeCluster::CryostatShape
protectedinherited

Definition at line 248 of file PndGeoHypGeCluster.h.

Referenced by PndGeoHypGeSingleCluster::BuildCryostat(), and BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatTopArb8_1
private

Definition at line 117 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatTopArb8_2
private

Definition at line 118 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatTopArb8_3
private

Definition at line 119 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatTopArb8_4
private

Definition at line 120 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeCluster::CryostatTopArb8_5
protectedinherited

Definition at line 161 of file PndGeoHypGeCluster.h.

Double_t* PndGeoHypGeDoubleCluster::CryostatTopArb8XY_1
private

Definition at line 112 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatTopArb8XY_2
private

Definition at line 113 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatTopArb8XY_3
private

Definition at line 114 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatTopArb8XY_4
private

Definition at line 115 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeCluster::CryostatTopArb8XY_5
protectedinherited

Definition at line 155 of file PndGeoHypGeCluster.h.

Double_t PndGeoHypGeDoubleCluster::CryostatTopThickness
private

Definition at line 26 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat(), and PndGeoHypGeDoubleCluster().

TGeoTranslation* PndGeoHypGeDoubleCluster::CryostatTopTranslation
private

Definition at line 122 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Int_t PndGeoHypGeCluster::CryostatTransparency
protectedinherited

Definition at line 257 of file PndGeoHypGeCluster.h.

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatUpperArb8_1
private

Definition at line 99 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatUpperArb8_10
private

Definition at line 108 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeCluster::CryostatUpperArb8_11
protectedinherited

Definition at line 146 of file PndGeoHypGeCluster.h.

TGeoArb8* PndGeoHypGeCluster::CryostatUpperArb8_12
protectedinherited

Definition at line 147 of file PndGeoHypGeCluster.h.

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatUpperArb8_2
private

Definition at line 100 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatUpperArb8_3
private

Definition at line 101 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatUpperArb8_4
private

Definition at line 102 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatUpperArb8_5
private

Definition at line 103 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatUpperArb8_6
private

Definition at line 104 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatUpperArb8_7
private

Definition at line 105 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatUpperArb8_8
private

Definition at line 106 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoArb8* PndGeoHypGeDoubleCluster::CryostatUpperArb8_9
private

Definition at line 107 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t PndGeoHypGeDoubleCluster::CryostatUpperArb8Heigt
private

Definition at line 25 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat(), and PndGeoHypGeDoubleCluster().

Double_t* PndGeoHypGeDoubleCluster::CryostatUpperArb8XY_1
private

Definition at line 88 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatUpperArb8XY_10
private

Definition at line 97 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeCluster::CryostatUpperArb8XY_11
protectedinherited

Definition at line 133 of file PndGeoHypGeCluster.h.

Double_t* PndGeoHypGeCluster::CryostatUpperArb8XY_12
protectedinherited

Definition at line 134 of file PndGeoHypGeCluster.h.

Double_t* PndGeoHypGeDoubleCluster::CryostatUpperArb8XY_2
private

Definition at line 89 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatUpperArb8XY_3
private

Definition at line 90 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatUpperArb8XY_4
private

Definition at line 91 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatUpperArb8XY_5
private

Definition at line 92 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatUpperArb8XY_6
private

Definition at line 93 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatUpperArb8XY_7
private

Definition at line 94 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatUpperArb8XY_8
private

Definition at line 95 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

Double_t* PndGeoHypGeDoubleCluster::CryostatUpperArb8XY_9
private

Definition at line 96 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

TGeoTranslation* PndGeoHypGeDoubleCluster::CryostatUpperTranslation
private

Definition at line 110 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat().

PndGeoHypGeCrystal* PndGeoHypGeCluster::Crystal1
protectedinherited
Int_t PndGeoHypGeCluster::Crystal1Number
protectedinherited

Definition at line 30 of file PndGeoHypGeCluster.h.

Referenced by PndGeoHypGeSingleCluster::BuildCrystals(), and BuildCrystals().

TGeoCombiTrans* PndGeoHypGeCluster::Crystal1Position
protectedinherited

Definition at line 39 of file PndGeoHypGeCluster.h.

Referenced by PndGeoHypGeSingleCluster::BuildCrystals(), and BuildCrystals().

TGeoRotation* PndGeoHypGeCluster::Crystal1Rotation
protectedinherited

Definition at line 35 of file PndGeoHypGeCluster.h.

Referenced by PndGeoHypGeSingleCluster::BuildCrystals(), and BuildCrystals().

PndGeoHypGeCrystal* PndGeoHypGeCluster::Crystal2
protectedinherited
Int_t PndGeoHypGeCluster::Crystal2Number
protectedinherited

Definition at line 31 of file PndGeoHypGeCluster.h.

Referenced by BuildCrystals().

TGeoCombiTrans* PndGeoHypGeCluster::Crystal2Position
protectedinherited

Definition at line 40 of file PndGeoHypGeCluster.h.

Referenced by BuildCrystals().

TGeoRotation* PndGeoHypGeCluster::Crystal2Rotation
protectedinherited

Definition at line 36 of file PndGeoHypGeCluster.h.

Referenced by BuildCrystals().

PndGeoHypGeCrystal* PndGeoHypGeCluster::Crystal3
protectedinherited

Definition at line 29 of file PndGeoHypGeCluster.h.

Int_t PndGeoHypGeCluster::Crystal3Number
protectedinherited

Definition at line 32 of file PndGeoHypGeCluster.h.

TGeoCombiTrans* PndGeoHypGeCluster::Crystal3Position
protectedinherited

Definition at line 41 of file PndGeoHypGeCluster.h.

TGeoRotation* PndGeoHypGeCluster::Crystal3Rotation
protectedinherited

Definition at line 37 of file PndGeoHypGeCluster.h.

TGeoMedium* PndGeoHypGeCluster::Cu
protectedinherited
Double_t PndGeoHypGeDoubleCluster::DoubleCrystalYOffset
private

Definition at line 15 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCrystals().

Double_t PndGeoHypGeDoubleCluster::DoubleCrystalZOffset
private

Definition at line 16 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCrystals().

TGeoMedium* PndGeoHypGeCluster::Ge
protectedinherited
Bool_t PndGeoHypGeDoubleCluster::MakeTop
private

Definition at line 19 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat(), and PndGeoHypGeDoubleCluster().

Int_t PndGeoHypGeCluster::NumberOfCryostatEdges
protectedinherited
Int_t PndGeoHypGeCluster::NumberOfDifferentZValues
protectedinherited
Int_t PndGeoHypGeDoubleCluster::NumberOfFrontArb8
private

Definition at line 20 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat(), and PndGeoHypGeDoubleCluster().

Int_t PndGeoHypGeDoubleCluster::NumberOfTopArb8
private

Definition at line 21 of file PndGeoHypGeDoubleCluster.h.

Referenced by BuildCryostat(), and PndGeoHypGeDoubleCluster().

Int_t PndGeoHypGeCluster::NumberOfXYInput
protectedinherited
ifstream PndGeoHypGeBase::ParametersInputFile
protectedinherited

Definition at line 45 of file PndGeoHypGeBase.h.

Referenced by PndGeoHypGeDoubleCluster().

Int_t PndGeoHypGeCluster::StartClusterNumber
protectedinherited
Double_t* PndGeoHypGeBase::ZValuesInputArray
protectedinherited

The documentation for this class was generated from the following files: