Added methods Track::ImportHits() and Track::ImportClusters(); fixed a charge value...
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 12 Jun 2006 19:25:24 +0000 (19:25 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 12 Jun 2006 19:25:24 +0000 (19:25 +0000)
EVE/Reve/Track.cxx
EVE/Reve/Track.h

index 22d2edeb7bfe07a3e75ce10fa99f61e5ce9de56c..1fd9175c13fcfa35ff3bb30a5edf763a5d9fe13c 100644 (file)
@@ -43,7 +43,7 @@ Track::Track(Reve::MCTrack* t, TrackRnrStyle* rs)
     t->ResetPdgCode(); pdgp = t->GetPDG();
   }
 
-  fCharge = (Int_t) pdgp->Charge();
+  fCharge = (Int_t) TMath::Nint(pdgp->Charge()/3);
   fLabel  = t->label;
 }
 
@@ -89,14 +89,14 @@ void Track::MakeTrack()
   mc_v0.t = 0;
 
   std::vector<MCVertex> track_points;
-  Bool_t decay = false;
+  Bool_t decay = kFALSE;
 
   if ((TMath::Abs(fV.z) > RS.fMaxZ) || (fV.x*fV.x + fV.y*fV.y > RS.fMaxR*RS.fMaxR)) 
     goto make_polyline;
   
   if (fCharge) { // Charged particle
 
-    Float_t a = 0.2998*RS.fMagField*fCharge/300; // m->cm
+    Float_t a = RS.fgkB2C * RS.fMagField * fCharge;
    
     MCHelix helix(fRnrStyle, &mc_v0, TMath::C()*fBeta, &track_points, a); //m->cm
     helix.Init(TMath::Sqrt(px*px+py*py), pz);
@@ -129,7 +129,7 @@ void Track::MakeTrack()
     }
   helix_bounds:
     //go to bounds
-    if(!decay || RS.fFitDecay == false){
+    if(!decay || RS.fFitDecay == kFALSE){
       helix.LoopToBounds(px,py,pz);
       // printf("%s loop to bounds  \n",fName.Data() );
     }
@@ -164,7 +164,7 @@ void Track::MakeTrack()
     }
 
   line_bounds:
-    if(!decay || RS.fFitDecay == false)
+    if(!decay || RS.fFitDecay == kFALSE)
       line.GotoBounds(px,py,pz);
 
   }
@@ -176,27 +176,44 @@ make_polyline:
 
 /**************************************************************************/
 
+void Track::ImportHits()
+{
+  Reve::LoadMacro("hits_from_label.C");
+  gROOT->ProcessLine(Form("hits_from_label(%d);", fLabel));
+}
+
+void Track::ImportClusters()
+{
+  Reve::LoadMacro("clusters_from_label.C");
+  gROOT->ProcessLine(Form("clusters_from_label(%d);", fLabel));
+}
+
+
+/**************************************************************************/
+/**************************************************************************/
+
 //______________________________________________________________________
 // TrackRnrStyle
 //
 
 ClassImp(Reve::TrackRnrStyle)
 
-Float_t       TrackRnrStyle::fgDefMagField = 0.5;
+Float_t       TrackRnrStyle::fgDefMagField = 5;
+const Float_t TrackRnrStyle::fgkB2C        = 0.299792458e-3;
 TrackRnrStyle TrackRnrStyle::fgDefStyle;
 
 void TrackRnrStyle::Init()
 {
   fMagField = fgDefMagField;
 
-  fMaxR  = 450;
-  fMaxZ  = 550;
+  fMaxR  = 350;
+  fMaxZ  = 450;
 
-  fMaxOrbs = 2;
+  fMaxOrbs = 0.5;
   fMinAng  = 45;
 
-  fFitDaughters = true;
-  fFitDecay     = true;
+  fFitDaughters = kTRUE;
+  fFitDecay     = kTRUE;
 
   fDelta  = 0.1; //calculate step size depending on helix radius
 }
@@ -216,8 +233,8 @@ void TrackList::Init()
   fMarkerColor = 5;
   // fMarker->SetMarkerSize(0.05);
 
-  fRnrMarkers = true;
-  fRnrTracks  = true;
+  fRnrMarkers = kTRUE;
+  fRnrTracks  = kTRUE;
 
   mRnrStyle = new TrackRnrStyle;
   SetMainColorPtr(&mRnrStyle->fColor);
index 940bdb43c071099ed163c81d3992bf534a653e04..cfdee14fe121e7bf39ecef4d250807685a97daee 100644 (file)
@@ -50,7 +50,8 @@ public:
 
   void MakeTrack();
 
-  TrackRnrStyle* GetRnrStyle() const { return fRnrStyle; }
+  TrackRnrStyle* GetRnrStyle() const  { return fRnrStyle; }
+  void SetRnrStyle(TrackRnrStyle* rs) { fRnrStyle = rs; }
 
   virtual const Text_t* GetName() const    { return fName; }
   virtual void SetName(const Text_t* name) { fName = name; }
@@ -60,6 +61,11 @@ public:
 
   Int_t GetLabel() const { return fLabel; }
 
+  //--------------------------------
+
+  void ImportHits();     // *MENU*
+  void ImportClusters(); // *MENU*
+
   ClassDef(Track, 1);
 }; // endclass Track
 
@@ -100,7 +106,11 @@ public:
   void    SetColor(Color_t c) { fColor = c; }
   Color_t GetColor() const    { return fColor; }
 
-  static Float_t          fgDefMagField;
+  Float_t GetMagField() const     { return fMagField; }
+  void    SetMagField(Float_t mf) { fMagField = mf; }
+
+  static Float_t       fgDefMagField;
+  static const Float_t fgkB2C;
   static TrackRnrStyle fgDefStyle;
 
   ClassDef(TrackRnrStyle, 1);
@@ -117,12 +127,12 @@ private:
   void  Init();
 
 protected:
-  TString                 fTitle;
+  TString              fTitle;
 
   TrackRnrStyle*       mRnrStyle;
 
-  Bool_t                  fRnrMarkers;
-  Bool_t                  fRnrTracks;
+  Bool_t               fRnrMarkers;
+  Bool_t               fRnrTracks;
 
 public:
   TrackList(Int_t n_tracks=0);
@@ -133,7 +143,7 @@ public:
   virtual const Text_t* GetTile() const  { return fTitle; }
   virtual void SetTitle(const Text_t* t) { fTitle = t; }
 
-  virtual Bool_t CanEditMainColor()  { return true; }
+  virtual Bool_t CanEditMainColor()  { return kTRUE; }
 
   virtual void Paint(Option_t* option="");