fId(id),
fInnerZ(0.),
fOuterZ(0.),
- fHoneycombThickness(0.),
- fAlThickness(0.),
fInnerHoneyLowR(0.),
fInnerHoneyHighR(0.),
fOuterHoneyLowR(0.),
// INNER Inner ring geometry
// OUTER Outer ring geometry (if any)
//
- SetHoneycombThickness();
- SetAlThickness();
SetInnerHoneyLowR(0);
SetInnerHoneyHighR(0);
SetInnerZ(0);
fId(other.fId),
fInnerZ(0.),
fOuterZ(0.),
- fHoneycombThickness(0.),
- fAlThickness(0.),
fInnerHoneyLowR(0.),
fInnerHoneyHighR(0.),
fOuterHoneyLowR(0.),
fOuterTransforms(other.fOuterTransforms)
{
// Copy constructor
- SetHoneycombThickness(other.GetHoneycombThickness());
- SetAlThickness(other.GetAlThickness());
SetInnerHoneyLowR(other.GetInnerHoneyLowR());
SetInnerHoneyHighR(other.GetInnerHoneyHighR());
SetInnerZ(other.GetInnerZ());
fOuter = other.fOuter;
fInnerTransforms = other.fInnerTransforms;
fOuterTransforms = other.fOuterTransforms;
- SetHoneycombThickness(other.GetHoneycombThickness());
- SetAlThickness(other.GetAlThickness());
SetInnerHoneyLowR(other.GetInnerHoneyLowR());
SetInnerHoneyHighR(other.GetInnerHoneyHighR());
SetInnerZ(other.GetInnerZ());
#define IS_NODE_THIS(name) \
(name[0] == 'F' && name[2] == 'M' && name[1] == Char_t(48+fId) && \
(name[3] == 'T' || name[3] == 'B'))
-#define IS_NODE_SENSOR(name) \
- (name[0] == 'F' && name[2] == 'S' && name[3] == 'E')
+#define IS_NODE_SENSOR(name) \
+ (name[0] == 'F' && (name[2] == 'B' || name[2] == 'F') && name[3] == 'H')
+//#define IS_NODE_SENSOR(name)
+// (name[0] == 'F' && name[2] == 'S' && name[3] == 'E')
#define IS_NODE_HALF(name) \
(name[0] == 'F' && name[2] == 'M' && (name[3] == 'B' || name[3] == 'T'))
#define HALF_FORMAT "FMD/FMD%d_%c"
// Get transformation matrix for this node, and store it.
TGeoMatrix* t = new TGeoHMatrix(*pm);
trans->AddAt(t, base+imod);
- AliFMDDebug(1, ("Found matrix for path \"%s\": %p",path.Data(),pm));
+ AliFMDDebug(5, ("Found matrix for path \"%s\": %p",path.Data(),pm));
}
}
}
// Translate detector coordinates (this,ring,sector,strip) into
// (x,y,z) coordinates (in global reference frame)
AliFMDRing* r = GetRing(ring);
- if (!r) return;
+ if (!r) {
+ AliWarning(Form("No such ring FMD%d%c ", fId, ring));
+ return;
+ }
TGeoMatrix* m = FindTransform(ring, sector);
- if (!m) return;
+ if (!m) {
+ AliWarning(Form("No transfrmation found for FMD%d%c[%02d]",
+ fId, ring, sector));
+ return;
+ }
Double_t rho = r->GetStripRadius(strip);
Double_t phi = ((sector % 2) - .5) * r->GetTheta();
Double_t siThick = r->GetSiThickness();
+#if 0
Double_t modThick = (siThick
+ r->GetPrintboardThickness()
+ r->GetCopperThickness()
+ r->GetChipThickness()
+ r->GetSpacing());
+#endif
AliFMDDebug(30, ("Rho %7.3f, angle %7.3f", rho, phi));
-# define DEGRAD TMath::Pi() / 180.
- Double_t local[] = { rho * TMath::Cos(phi * DEGRAD),
- rho * TMath::Sin(phi * DEGRAD),
- -modThick + siThick / 2 };
+ Double_t local[] = { rho * TMath::Cos(phi * TMath::DegToRad()),
+ rho * TMath::Sin(phi * TMath::DegToRad()),
+ /* -modThick + */ siThick / 2 };
Double_t master[3];
AliFMDDebug(30, ("Local (%7.3f,%7.3f,%7.3f)",local[0], local[1], local[2]));
m->LocalToMaster(local, master);