6 std::cerr << "This script must be run in AliROOT" <<std::edl;
11 gAlice->InitMC("$ALICE_ROOT/FMD/Config.C");
14 AliFMD* fmd = gAlice->GetDetector("FMD");
16 std::cerr << "FMD object not defined" << std::endl;
20 AliRunLoader* runLoader = gAlice->GetRunLoader();
22 std::cerr << "No run loader defined" << std::end;
27 AliCDBManager* cdb = AliCDBManager::Instance();
28 cdb->SetDefaultStorage("local://$ALICE_ROOT")
32 AliFMDGeometry* geom = AliFMDGeometry::Instance();
34 geom->InitTransformations();
37 // AliFMDParameters* param = AliFMDParameters::Instance();
38 // param->Init(kFALSE, AliFMDParameters::kAltroMap);
39 AliFMDAltroMapping map;
41 // Monte-carlo application
42 AliMC* mc = gAlice->GetMCApp();
44 std::cerr << "No MC application defined" << std::endl;
48 // Make primaries - one for each strip
51 for (size_t i = 0; i < 51200; i++) {
52 mc->PushTrack(1, -1, 211,
57 // std::cout << "Made track # " << ntr << std::endl;
62 for (UShort_t d = 1; d <= 3; d++) {
63 UShort_t nrng = (d == 1 ? 1 : 2);
64 for (UShort_t ir = 0; ir < nrng; ir++) {
65 Char_t r = (ir == 0 ? 'I' : 'O');
66 UShort_t nsec = (ir == 0 ? 20 : 40);
67 UShort_t nstr = (ir == 0 ? 512 : 256);
68 for (UShort_t s = 0; s < nsec; s++) {
69 for (UShort_t t = 0; t < nstr; t++) {
73 geom->Detector2XYZ(d, r, s, t, x, y, z);
74 UInt_t ddl, board, altro, channel;
76 map.Detector2Hardware(d, r, s, t, 0, 0, 1,
77 ddl, board, altro, channel, timebin);
78 Float_t e = Float_t(s) / nsec + Float_t(t)/(100*nstr);
79 e = Float_t(timebin) / 1024 * 4;
81 std::cout << "FMD" << d << r << "[" << std::setfill('0')
82 << std::setw(2) << s << "," << std::setw(3) << t
83 << "] " << std::setfill(' ')
84 << std::setw(4) << timebin << " ("
85 << std::setw(8) << x << ","
86 << std::setw(8) << y << ","
87 << std::setw(8) << z << ") -> "
88 << std::setw(10) << e << "\r"
90 fmd->AddHitByFields(ntr, // Int_t track,
91 d, // UShort_t detector,
93 s, // UShort_t sector,
101 e, // Float_t edep=0,
104 0.03); // Float_t len=0,
109 std::cout << std::endl;
118 gGeoManager->Export("geometry.root");