34 char* InputTitleBuffer;
37 string Filename = getenv(
"VMCWORKDIR");
38 Filename +=
"/hypGe/geometry/PndGeoHypGeDoubleClusterParfile.txt";
57 cout <<
"Destrucor called" << endl;
102 string CompositeShapeExpression;
125 sprintf(buffer,
"CryostatDoubleFrontArb8_%d : CryostatDoubleFrontTranslation",
i);
126 CompositeShapeExpression += buffer;
129 CompositeShapeExpression +=
"+";
175 sprintf(buffer,
"CryostatDoubleLowerArb8_%d : CryostatDoubleLowerTranslation",
i);
176 CompositeShapeExpression += buffer;
179 CompositeShapeExpression +=
"+";
222 for (Int_t
i = 1;
i < NumberOfCryostatEdges+1;
i++)
225 sprintf(buffer,
"CryostatDoubleMiddleArb8_%d : CryostatDoubleMiddleTranslation",
i);
226 CompositeShapeExpression += buffer;
229 CompositeShapeExpression +=
"+";
271 for (Int_t
i = 1;
i < NumberOfCryostatEdges+1;
i++)
274 sprintf(buffer,
"CryostatDoubleUpperArb8_%d : CryostatDoubleUpperTranslation",
i);
275 CompositeShapeExpression += buffer;
277 if (
i<NumberOfCryostatEdges)
279 CompositeShapeExpression +=
"+";
281 if (
i==NumberOfCryostatEdges &&
MakeTop )
283 CompositeShapeExpression +=
"+";
312 sprintf(buffer,
"CryostatDoubleTopArb8_%d : CryostatDoubleTopTranslation",
i);
313 CompositeShapeExpression += buffer;
314 if (
i<NumberOfTopArb8)
316 CompositeShapeExpression +=
"+";
325 CryostatShape =
new TGeoCompositeShape(
"CryostatShape",CompositeShapeExpression.data() );
327 Cryostat->SetLineColor(kGreen);
328 Cryostat->SetFillColor(kGreen);
330 CryostatCombiTrans =
new TGeoCombiTrans(
"CryostatCombiTrans",0,0,0,
new TGeoRotation(
"CryostatRotation",0,180,0));
342 cout <<
"Nothing to Print, use higher number to go deeper in the tree." << endl;
346 cout <<
"Printing the content of the cluster assembly." << endl;
347 cout <<endl <<
"Number of Nodes in cluster assembly: " <<
ClusterAssembly->GetNdaughters() << endl;
352 cout <<
"Printing the content of the crystal assemblies." << endl;
TGeoArb8 * CryostatLowerArb8_6
Double_t * CryostatLowerArb8XY_9
TGeoTranslation * CryostatFrontTranslation
void BuildCrystals(Int_t *CrystalNumber)
Double_t * CryostatMiddleArb8XY_1
TGeoArb8 * CryostatLowerArb8_5
Double_t * CryostatLowerArb8XY_7
TGeoRotation * Crystal2Rotation
Double_t * CryostatLowerArb8XY_6
Double_t * CryostatLowerArb8XY_1
Double_t * CryostatTopArb8XY_3
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 NumberOfDifferentZValues
PndGeoHypGeCrystal * Crystal2
Double_t * CryostatMiddleArb8XY_3
Double_t CryostatMiddleArb8Heigt
Double_t * CryostatFrontArb8XY_2
TGeoArb8 * CryostatTopArb8_3
TGeoVolume * ClusterAssembly
TGeoArb8 * CryostatUpperArb8_3
TGeoCombiTrans * Crystal2Position
void BuildTArb8FrontArray(Double_t *OutputArray, Int_t Point1, Int_t Point2, Int_t Point3, Int_t Point4, Int_t NumberOfPoints)
Double_t * CryostatMiddleArb8XY_5
Double_t * CryostatMiddleArb8XY_2
Double_t DoubleCrystalYOffset
PndGeoHypGeCrystal * Crystal1
Double_t * CryostatUpperArb8XY_6
TGeoArb8 * CryostatTopArb8_2
Double_t * CryostatMiddleArb8XY_8
Double_t * CryostatUpperArb8XY_4
void FillZValues(Int_t NumberofDifferentZValues)
Double_t * CryostatMiddleArb8XY_7
TGeoArb8 * CryostatLowerArb8_10
Double_t CryostatUpperArb8Heigt
void PlaceCrystal(TGeoVolume *top, TGeoMatrix *CrystalPlaceAndDirectionTranslation)
TGeoArb8 * CryostatUpperArb8_10
TGeoArb8 * CryostatMiddleArb8_10
TGeoCompositeShape * CryostatShape
ifstream ParametersInputFile
Double_t * CryostatLowerArb8XY_2
Double_t * CryostatUpperArb8XY_3
TGeoArb8 * CryostatLowerArb8_7
TGeoArb8 * CryostatLowerArb8_9
Double_t * CryostatUpperArb8XY_1
TGeoArb8 * CryostatLowerArb8_8
Double_t DoubleCrystalZOffset
TGeoArb8 * CryostatUpperArb8_9
TGeoArb8 * CryostatUpperArb8_8
TGeoArb8 * CryostatUpperArb8_4
Double_t * CryostatUpperArb8XY_9
Double_t * CryostatLowerArb8XY_3
Double_t * CryostatLowerArb8XY_5
TGeoArb8 * CryostatMiddleArb8_5
TGeoArb8 * CryostatMiddleArb8_3
TGeoArb8 * CryostatLowerArb8_2
TGeoArb8 * CryostatFrontArb8_4
TGeoArb8 * CryostatMiddleArb8_4
Double_t * CryostatMiddleArb8XY_9
TGeoArb8 * CryostatUpperArb8_7
TGeoArb8 * CryostatUpperArb8_5
Double_t * ZValuesInputArray
TGeoTranslation * CryostatLowerTranslation
TGeoCombiTrans * Crystal1Position
ClassImp(PndGeoHypGeDoubleCluster) using namespace std
TGeoArb8 * CryostatUpperArb8_6
TGeoRotation * Crystal1Rotation
TGeoArb8 * CryostatLowerArb8_4
TGeoArb8 * CryostatFrontArb8_1
TGeoArb8 * CryostatMiddleArb8_6
void PrintNodes(Int_t nLevels)
TGeoArb8 * CryostatTopArb8_1
Double_t * CryostatFrontArb8XY_4
TGeoArb8 * CryostatMiddleArb8_2
TGeoArb8 * CryostatMiddleArb8_8
Double_t * CoordinatesInputArray
TGeoArb8 * CryostatMiddleArb8_9
TGeoArb8 * CryostatFrontArb8_2
Double_t * CryostatLowerArb8XY_10
~PndGeoHypGeDoubleCluster()
Double_t * CryostatUpperArb8XY_8
Double_t * CryostatLowerArb8XY_8
TGeoTranslation * CryostatTopTranslation
Double_t * CryostatLowerArb8XY_4
Double_t * CryostatTopArb8XY_4
Double_t CryostatFrontThickness
PndGeoHypGeDoubleCluster()
Double_t * CryostatUpperArb8XY_2
Double_t * CryostatMiddleArb8XY_6
TGeoTranslation * CryostatMiddleTranslation
Double_t * CryostatMiddleArb8XY_4
void BuildTArb8TopArray(Double_t *OutputArray, Int_t Point1, Int_t Point2, Int_t Point3, Int_t Point4, Int_t Offset, Int_t NumberOfPoints)
TGeoArb8 * CryostatFrontArb8_3
TGeoArb8 * CryostatMiddleArb8_1
Double_t * CryostatFrontArb8XY_3
TGeoArb8 * CryostatLowerArb8_1
Double_t * CryostatTopArb8XY_1
Double_t * CryostatUpperArb8XY_7
TGeoArb8 * CryostatUpperArb8_2
Double_t CryostatTopThickness
Double_t * CryostatUpperArb8XY_10
Double_t * CryostatMiddleArb8XY_10
Int_t NumberOfCryostatEdges
Double_t * CryostatUpperArb8XY_5
Double_t * CryostatTopArb8XY_2
void FillInputArray(Int_t NumberOfPoints, Int_t NumberOfXYInput)
TGeoArb8 * CryostatTopArb8_4
TGeoArb8 * CryostatUpperArb8_1
Double_t CryostatLowerArb8Heigt
Double_t * CryostatFrontArb8XY_1
TGeoTranslation * CryostatUpperTranslation
TGeoArb8 * CryostatLowerArb8_3
TGeoArb8 * CryostatMiddleArb8_7