46 , labTransform(nullptr)
47 , fDaughterList(new TObjArray(5))
57 , center(r.getCenterPosition())
58 , volumeType(r.getVolumeType())
60 , copyNode(r.getCopyNode())
61 , rootVolume(r.getRootVolume())
66 , fDaughterList(new TObjArray(*(r.GetListOfDaughters())))
67 , fTruncName(r.getTruncName())
86 for (Int_t i = 0; i <
nPoints; i++) {
110 for (Int_t i = 0; i <
nPoints; i++) {
140 Int_t l = fName.Length();
144 sscanf(s.Data(),
"%i", &n);
148 Ssiz_t l = fName.Last(
'#');
152 sscanf(s.Data(),
"%i", &n);
182 cout <<
"//----------------------------------------------------------\n";
184 cout <<
"//----------------------------------------------------------\n";
208 fout << fName.Data() <<
'\n';
210 fout << (const_cast<const char*>(
mother.Data())) <<
'\n';
212 Error(
"write",
"Unknown mother for %s\n", fName.Data());
217 fout << (const_cast<const char*>(
shape.Data())) <<
'\n';
219 Error(
"write",
"Unknown shape for %s\n", fName.Data());
223 fout <<
medium->GetName() <<
'\n';
225 Error(
"write",
"Unknown medium for %s\n", fName.Data());
231 Error(
"write",
"No points for %s\n", fName.Data());
238 fout << v(0) <<
" " << v(1) <<
" " << v(2) <<
'\n';
240 for (Int_t i = 0; i < 9; i++) {
244 fout <<
"//----------------------------------------------------------\n";
251 TList* tree =
new TList();
282 Error(
"calcLabTransform()",
"Mother volume of %s not found!", GetName());
289 Error(
"calcLabTransform()",
"Lab Transformation of mother volume of %s not found!", GetName());
311 Error(
"calcLabTransform()",
"Mother volume of %s not found!", GetName());
318 Error(
"calcLabTransform()",
"Lab Transformation of mother volume of %s not found!", GetName());
335 Error(
"calcModuleTransform",
"Mother volume of %s not found!", node->GetName());
357 Error(
"calcModuleTransform",
"Mother of volume %s not found!", GetName());
360 }
while (node && !node->
isModule());
372 Int_t diff[] = {0, 0, 0, 0, 0, 0};
374 cout << fName <<
'\t';
380 TString med =
medium->GetName();
381 if (med.CompareTo(rn.
getMedium()->GetName()) != 0) {
395 for (Int_t i = 0; i < np; i++) {
398 if (fabs(v1(0) - v2(0)) >= 0.001 || fabs(v1(1) - v2(1)) >= 0.001 || fabs(v1(1) - v2(1)) >= 0.001) {
410 if (fabs(v1(0) - v2(0)) >= 0.001 || fabs(v1(1) - v2(1)) >= 0.001 || fabs(v1(1) - v2(1)) >= 0.001) {
416 for (Int_t i = 0; i < 9; i++) {
417 if (fabs(r1(i) - r2(i)) >= 1.e-7) {
424 for (Int_t i = 0; i < 6; i++) {
425 cout <<
" " << diff[i] <<
" ";
virtual void calcVoluPosition(FairGeoVolume *, const FairGeoTransform &)
FairGeoNode * getMotherNode()
FairGeoTransform * calcLabTransform()
const TString & getMother() const
virtual Bool_t writePoints(std::fstream *, FairGeoVolume *)
void setPoint(const Int_t, const Double_t, const Double_t, const Double_t)
TArrayD * getParameters()
virtual TArrayD * calcVoluParam(FairGeoVolume *)
FairGeoTransform & getCenterPosition()
FairGeoTransform * getVoluPosition()
ClassImp(FairEventBuilder)
TObjArray * fDaughterList
void setMother(FairGeoNode *s)
FairGeoTransform fLabTransform
void setShape(FairGeoBasicShape *s)
Bool_t calcModuleTransform(FairGeoTransform &)
void createPoints(const Int_t)
FairGeoTransform * getPosition()
Bool_t calcRefPos(FairGeoVector &)
Bool_t write(std::fstream &)
FairGeoVector * getPoint(const Int_t n)
void setVolumePar(FairGeoNode &)
FairGeoBasicShape * pShape
void setLabTransform(FairGeoTransform &)
FairGeoMedium * getMedium()
FairGeoTransform transform
FairGeoTransform * getCenterPosition()
FairGeoMedium * medium
/** pointer to the mother volume */
FairGeoTransform & getTransform()
const TString & getShape() const
FairGeoTransform * getLabTransform()
FairGeoTransform * labTransform
Int_t compare(FairGeoNode &)
FairGeoBasicShape * getShapePointer()