Ejemplo n.º 1
0
Archivo: main.c Proyecto: Futame/cell
REAL totalCurrent(REAL time, struct State *S, struct State *Sn, REAL ht, struct Cpar *C, struct Is *I, struct Js *J, struct Buf *B, struct Buf *Bn)
{
    REAL IKtot, INatot, ICltot, ICatot;
    
    srflux(S, Sn, ht,  C, J);
    cabuf(S, Sn, ht, C, J, B, Bn);
    
    ical(S, Sn, ht, C, I);
    ibgca(S, Sn, ht, C, I);
    ipk(S, Sn, ht, C, I);
    ina(S, Sn, ht, C, I);
    ibgna(S, Sn, ht, C, I);
    incx(S, Sn, ht, C, I);
    inak(S, Sn, ht, C, I);
    ito(S, Sn, ht, C, I);
    ikr(time, S, Sn, ht, C, I);
    iks(S, Sn, ht, C, I);
    iki(time,S, Sn, ht, C, I);
    ikp(S, Sn, ht, C, I);
    iclca(S, Sn, ht, C, I);
    ibgcl(S, Sn, ht, C, I);
    
    caconc(S, Sn, ht, C, J, I);
    naconc(S, Sn, ht, C, J, I);
    
    INatot = (I->INaJunc + I->INaSl) + (I->INaBkJunc + I->INaBkSl) + 3.0 * (I->IncxJunc + I->IncxSl) + 3.0 * (I->INaKJunc + I->INaKSl) + (I->ICaNaJunc + I->ICaNaSl);
    IKtot = (I->ItoSlow + I->ItoFast) + (I->Ikr  + I->Iks) + I->Iki - 2.0 * (I->INaKJunc + I->INaKSl) + I->Ikp + I->ICaK;
    ICltot = I->IClCa + I->IBgCl;
    ICatot = I->ICaTotJunc + I->ICaTotSl;
    
    return INatot + IKtot + ICltot + ICatot;
}/** totalCurrent **/
Ejemplo n.º 2
0
void trd_tracks(TEveElement *cont = 0)
{
  // Link data containers
  AliESDEvent* esd(AliEveEventManager::Instance()->AssertESD());
  AliESDfriend *esdFriend(AliEveEventManager::AssertESDfriend());
  if(!esd || !esdFriend){
    Warning("trd_tracks", "Full ESD data missing.");
    return;
  }

/*  AliEveEventManager::Instance()->AssertGeometry();
  AliRunLoader *rl = AliEveEventManager::AssertRunLoader();
*/
  AliTRDrecoParam *trdRecoParam = AliTRDrecoParam::GetLowFluxParam();
  trdRecoParam->SetPIDNeuralNetwork();
  AliTRDReconstructor *reco = new AliTRDReconstructor();
  reco->SetRecoParam(trdRecoParam);

  AliEveTRDTrackList *tracks = new AliEveTRDTrackList("TRD Tracks");
  for (Int_t n=0; n<esd->GetNumberOfTracks(); n++){
    AliESDtrack* esdTrack(esd->GetTrack(n));
    if(!esdTrack) continue;
    AliESDfriendTrack *friendTrack = new AliESDfriendTrack(*(esdTrack->GetFriendTrack()));
    if(!friendTrack) continue;
    //Info("trd_tracks", Form("Track[%3d] esd[%p] friend[%p]", n, (void*)esdTrack, (void*)friendTrack));

    TObject *cal(NULL);
    Int_t ical(0);
    while((cal = friendTrack->GetCalibObject(ical++))){
      //Info("trd_tracks", Form("  Obj[%d] %s", ical-1, cal->IsA()->GetName()));
      if(strcmp(cal->IsA()->GetName(), "AliTRDtrackV1") != 0) continue;
      AliTRDtrackV1 *trackObj = dynamic_cast<AliTRDtrackV1 *>(cal);
      trackObj->SetReconstructor(reco);
      AliEveTRDTrack *trackEve = new AliEveTRDTrack(new AliTRDtrackV1(*trackObj));
      tracks->AddElement(trackEve);
      trackEve->SetESDstatus(esdTrack->GetStatus());
      trackEve->SetName(Form("[%4d] %s", n, trackEve->GetName()));
    }
  }

  delete reco;

  tracks->SetTitle(Form("Tracks %d", tracks->NumChildren()));
  tracks->StampObjProps();
  gEve->AddElement(tracks, cont);

  gEve->Redraw3D();

  //  TGLViewer *v = gEve->GetDefaultGLViewer();
  //  v->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
  //  ((TGLOrthoCamera&)v->CurrentCamera()).SetEnableRotate(kTRUE);
  //  v->UpdateScene();

  return;
}