110 static FairGeoLoader *geoLoad=FairGeoLoader::Instance();
111 static FairGeoInterface *geoFace=geoLoad->getGeoInterface();
112 static FairGeoMedia *media=geoFace->getMedia();
113 static FairGeoBuilder *geoBuild=geoLoad->getGeoBuilder();
115 FairGeoMedium *ShipMedium=media->getMedium(name);
119 Fatal(
"InitMedium",
"Material %s not defined in media file.", name);
122 TGeoMedium* medium=gGeoManager->GetMedium(name);
124 return ShipMedium->getMediumIndex();
125 return geoBuild->createMedium(ShipMedium);
175 TGeoMedium *TTmedium = gGeoManager->GetMedium(
"TTmedium");
178 TGeoMedium *vacuum = gGeoManager->GetMedium(
"vacuum");
181 TGeoMedium *CarbonComposite = gGeoManager->GetMedium(
"CarbonComposite");
184 TGeoMedium *SciFiMat = gGeoManager->GetMedium(
"SciFiMat");
187 TGeoMedium *Airex = gGeoManager->GetMedium(
"Airex");
190 TGeoVolume *volTarget = gGeoManager->GetVolume(
"volTarget");
193 TGeoVolume* TT_volume =
new TGeoVolume(
"TT", TT_box, vacuum);
194 TT_volume->SetLineColor(kBlue - 1);
196 TT_volume->SetVisibility(1);
197 TT_volume->SetVisDaughters(1);
201 TGeoVolume* TT_support_volume =
new TGeoVolume(
"TT_support", TT_support_box, CarbonComposite);
202 TT_support_volume->SetLineColor(kGray - 2);
203 TT_support_volume->SetVisibility(1);
207 TGeoVolume* TT_honeycomb_volume =
new TGeoVolume(
"TT_honeycomb", TT_honeycomb_box, Airex);
208 TT_honeycomb_volume->SetLineColor(kYellow);
209 TT_honeycomb_volume->SetVisibility(1);
213 TGeoVolume* TT_scifi_plane_hor_volume =
new TGeoVolume(
"TT_scifi_plane_hor", TT_scifi_plane_hor_box, SciFiMat);
214 TT_scifi_plane_hor_volume->SetVisibility(1);
217 TGeoVolume* TT_scifi_plane_vert_volume =
new TGeoVolume(
"TT_scifi_plane_vert", TT_scifi_plane_vert_box, SciFiMat);
218 TT_scifi_plane_vert_volume->SetVisibility(1);
222 TGeoVolume* TT_scifimat_hor_volume =
new TGeoVolume(
"TT_scifimat_hor", TT_scifimat_hor_box, SciFiMat);
223 TT_scifimat_hor_volume->SetLineColor(kCyan-9);
226 TGeoVolume* TT_scifimat_vert_volume =
new TGeoVolume(
"TT_scifimat_vert", TT_scifimat_vert_box, SciFiMat);
227 TT_scifimat_vert_volume->SetLineColor(kGreen-7);
230 AddSensitiveVolume(TT_scifimat_hor_volume);
231 AddSensitiveVolume(TT_scifimat_vert_volume);
235 TT_scifi_plane_hor_volume->AddNode(TT_scifimat_hor_volume, i+1,
new TGeoTranslation(0, (-(
n_hor_planes-1)/2.0 + i)*
scifimat_width, 0));
238 TT_scifi_plane_vert_volume->AddNode(TT_scifimat_vert_volume, 100+i+1,
new TGeoTranslation((-(
n_vert_planes-1)/2.0 + i)*
scifimat_width, 0, 0));
241 TT_volume->AddNode(TT_support_volume, 0,
new TGeoTranslation(0, 0, -
TTrackerZ/2 +
support_z/2));
250 for (
int l = 0; l <
fNTT; ++l){
251 volTarget->AddNode(TT_volume, 1000*(l+1),
new TGeoTranslation(0, 0, first_tt_position + l * (
TTrackerZ +
CellWidth)));
261 if ( gMC->IsTrackEntering() ) {
263 fTime = gMC->TrackTime() * 1.0e09;
265 gMC->TrackPosition(
fPos);
266 gMC->TrackMomentum(
fMom);
272 if (gMC->IsTrackExiting() ||
273 gMC->IsTrackStop() ||
274 gMC->IsTrackDisappeared() ){
275 if (
fELoss == 0. ) {
return kFALSE; }
276 TParticle* p=gMC->GetStack()->GetCurrentTrack();
277 Int_t pdgCode = p->GetPdgCode();
278 fTrackID = gMC->GetStack()->GetCurrentTrackNumber();
283 gMC->CurrentVolOffID(2, TTstationID);
287 gMC->TrackPosition(Pos);
288 Double_t xmean = (
fPos.X()+Pos.X())/2. ;
289 Double_t ymean = (
fPos.Y()+Pos.Y())/2. ;
290 Double_t zmean = (
fPos.Z()+Pos.Z())/2. ;
349 TVector3 pos, TVector3 mom,
350 Double_t time, Double_t length,
351 Double_t eLoss, Int_t pdgCode)
354 Int_t size = clref.GetEntriesFast();
356 return new(clref[size])
TTPoint(trackID,detID, pos, mom,
357 time, length, eLoss, pdgCode);