FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PndHyp Class Reference

#include <PndHyp.h>

Inheritance diagram for PndHyp:

Public Member Functions

 PndHyp ()
 
 PndHyp (const char *name, Bool_t active)
 
virtual ~PndHyp ()
 
virtual void Initialize ()
 
virtual Bool_t ProcessHits (FairVolume *vol=0)
 
virtual void SetSpecialPhysicsCuts ()
 
virtual void EndOfEvent ()
 
virtual void BeginEvent ()
 
virtual void Register ()
 
virtual TClonesArray * GetCollection (Int_t iColl) const
 
virtual void Print () const
 
virtual void Reset ()
 
virtual void CopyClones (TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
 
virtual void ConstructGeometry ()
 
virtual void FinishRun ()
 
PndHypPointAddHit (Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout, Double_t tof, Double_t length, Double_t eLoss, Double_t charge, Double_t mass, Int_t pdgCode, Double_t dist, Double_t PLin, Double_t PLout)
 
PndHypPointAddSecTarHit (Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout, Double_t tof, Double_t length, Double_t eLoss, Double_t charge, Double_t mass, Int_t pdgCode, Double_t dist, Double_t PLin, Double_t PLout)
 
PndHypPointAddSTMatBudHit (Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout, Double_t tof, Double_t length, Double_t eLoss, Double_t charge, Double_t mass, Int_t pdgCode, Double_t dist, Double_t PLin, Double_t PLout)
 
void PreTrack ()
 
void SetHypSDtoFile (bool onf, bool val)
 
void SetHypGamFEm (bool gam)
 
void SetMatbud (bool mbud)
 
void SetTreeFName (const Char_t *Name)
 
void SetSensorVol (TString VolSi)
 
void SetAbsorberVol (TString VolAb)
 
void SetStartEvID (Int_t EvID=0)
 
void SetGeoVersion (TString vers="standard")
 
void SetAbsMat (TString abmat="HYPdiamond")
 
void SetBPipeMat (TString bpmat="HYPcarbon")
 
void SetListMat (TString mat="carbon")
 

Private Member Functions

bool CheckIfSensitive (std::string name)
 
void ResetParameters ()
 
void SetHypStatDecay (bool cal, bool active)
 

Private Attributes

std::vector< std::string > fListOfSensitives
 
std::vector< TStringfListOfMaterials
 
TString fVolNamSi
 
TString fVolNamAb
 
TString fVers
 
TString fAbsMat
 
TString fSiMat
 
TString fBPipeMat
 
Bool_t fRootSensVol
 
Bool_t fListMat
 
Bool_t fStandard
 
Bool_t fCurrent
 
Int_t fStartEvID
 
Int_t fTrackID
 
Int_t fVolumeID
 
Int_t fEventID
 
TLorentzVector fPosIn
 
TLorentzVector fMomIn
 
TLorentzVector fPosOut
 
TLorentzVector fMomOut
 
Double_t fPLout
 
Double_t fPLin
 
TClonesArray * fEvt
 
TFile * fFile
 
TTree * ft
 
Int_t activeCnt
 
Double_t weight
 
Double_t seed
 
Int_t fcount
 
Double32_t fTime
 
Double32_t fLength
 
Double32_t fELoss
 
Int_t fPosIndex
 
Int_t fpdgCode
 
Int_t SiId
 
Int_t CId
 
Int_t alId
 
Int_t beId
 
Int_t CpipeId
 
Double_t fcharge
 
Double_t fmass
 
Double_t fdist
 
const Char_t * fFileName
 
PndHypGeoHandlingfGeoH
 Input file name. More...
 
TClonesArray * fHypCollection
 Gives Access to the Path info of a hit. More...
 
TClonesArray * fHypSecTarCollection
 Hit collection. More...
 
TClonesArray * fHypSTMatBudCollection
 
TRandom r
 
Bool_t fTrackStopNxtStep
 
Bool_t fUseFileOption
 
Bool_t fUseRAZHOption
 
Bool_t fUseGamOption
 
Bool_t fMatBud
 

Detailed Description

Definition at line 30 of file PndHyp.h.

Constructor & Destructor Documentation

PndHyp::PndHyp ( )

Default constructor

Definition at line 65 of file PndHyp.cxx.

References alId, beId, CId, CpipeId, fEventID, fEvt, fFile, fHypCollection, fHypSecTarCollection, fHypSTMatBudCollection, fListMat, fListOfSensitives, fPosIndex, ft, fVolNamAb, fVolNamSi, and SiId.

65  :
66  fcount(0),fUseFileOption(false),fUseRAZHOption(false),fUseGamOption(false),fMatBud(false){
67  fHypCollection = new TClonesArray("PndHypPoint");
68  fHypSecTarCollection = new TClonesArray("PndHypPoint");
69  fHypSTMatBudCollection = new TClonesArray("PndHypPoint");
70 
71  // if(fUseRAZHOption==true && fUseFileOption==true){
72 
73  fFile = NULL;//new TFile(fFileName,"RECREATE");//gam+nucfrag "hypBupDecay2.root"
74  fEvt = NULL;//new TClonesArray("THParticle",50);
75  ft = NULL;//new TTree("data","hypernuclei");
76 
77  // activeCnt=0;
78  // weight =1.0;
79 
80  // // define the tree branches
81  // ft->Branch("Npart",&activeCnt,"Npart/I");
82  // ft->Branch("Weigth",&weight,"Weight/D");
83  // ft->Branch("Seed",&seed,"Seed/D");
84  // ft->Branch("Particles",&fEvt,32000);
85  // }
86 
87  SiId = 0;
88  CId = 0;
89  CpipeId = 0;
90  alId = 0;
91  beId = 0;
92  fPosIndex = 0;
93 
94  fEventID=-1;
95  fListMat = kFALSE;
96 
97  fListOfSensitives.push_back(fVolNamAb.Data());//"stglAb");
98  fListOfSensitives.push_back(fVolNamSi.Data());//"stglSi");
99  fListOfSensitives.push_back("stglpipe");
100 
101 
102 }
Int_t CId
Definition: PndHyp.h:266
TClonesArray * fHypSecTarCollection
Hit collection.
Definition: PndHyp.h:279
Bool_t fUseFileOption
Definition: PndHyp.h:286
TString fVolNamAb
Definition: PndHyp.h:235
Int_t SiId
Definition: PndHyp.h:266
Bool_t fUseRAZHOption
Definition: PndHyp.h:287
Int_t CpipeId
Definition: PndHyp.h:266
Int_t beId
Definition: PndHyp.h:266
std::vector< std::string > fListOfSensitives
Definition: PndHyp.h:230
Bool_t fMatBud
Definition: PndHyp.h:289
Bool_t fListMat
Definition: PndHyp.h:236
TClonesArray * fHypSTMatBudCollection
Definition: PndHyp.h:280
Int_t fcount
Definition: PndHyp.h:259
Int_t fEventID
Definition: PndHyp.h:241
Int_t alId
Definition: PndHyp.h:266
Bool_t fUseGamOption
Definition: PndHyp.h:288
TString fVolNamSi
Definition: PndHyp.h:235
TClonesArray * fEvt
Definition: PndHyp.h:251
TFile * fFile
Definition: PndHyp.h:252
TTree * ft
Definition: PndHyp.h:253
TClonesArray * fHypCollection
Gives Access to the Path info of a hit.
Definition: PndHyp.h:278
Int_t fPosIndex
Definition: PndHyp.h:264
PndHyp::PndHyp ( const char *  name,
Bool_t  active 
)

Standard constructor.

Parameters
namedetetcor name
activesensitivity flag

Definition at line 106 of file PndHyp.cxx.

References alId, beId, CId, fEventID, fEvt, fFile, fHypCollection, fHypSecTarCollection, fHypSTMatBudCollection, fListMat, fListOfSensitives, fPosIndex, ft, fVolNamAb, fVolNamSi, and SiId.

107  : FairDetector(name, active),fcount(0),fUseFileOption(false),fUseRAZHOption(false),fUseGamOption(false),fMatBud(false){
108  fHypCollection = new TClonesArray("PndHypPoint");
109  fHypSecTarCollection = new TClonesArray("PndHypPoint");
110  fHypSTMatBudCollection = new TClonesArray("PndHypPoint");
111 
112  // if(fUseRAZHOption==true && fUseFileOption==true){
113 
114  fFile = NULL;//new TFile(fFileName,"RECREATE");//gam+nucfrag "hypBupDecay2.root"
115  fEvt = NULL;//new TClonesArray("THParticle",50);
116  ft = NULL;//new TTree("data","hypernuclei");
117 
118  // activeCnt=0;
119  // weight =1.0;
120 
121  // // define the tree branches
122  // ft->Branch("Npart",&activeCnt,"Npart/I");
123  // ft->Branch("Weigth",&weight,"Weight/D");
124  // ft->Branch("Seed",&seed,"Seed/D");
125  // ft->Branch("Particles",&fEvt,32000);
126  // }
127 
128 
129  SiId = 0;
130  CId = 0;
131  alId = 0;
132  beId = 0;
133  fPosIndex = 0;
134  fListMat = kFALSE;
135  fEventID=-1;
136 
137 
138  fListOfSensitives.push_back(fVolNamAb.Data());//"stglAb");
139  fListOfSensitives.push_back(fVolNamSi.Data());//"stglSi");
140  fListOfSensitives.push_back("stglpipe");
141 
142 
143 }
Int_t CId
Definition: PndHyp.h:266
TClonesArray * fHypSecTarCollection
Hit collection.
Definition: PndHyp.h:279
Bool_t fUseFileOption
Definition: PndHyp.h:286
TString fVolNamAb
Definition: PndHyp.h:235
Int_t SiId
Definition: PndHyp.h:266
Bool_t fUseRAZHOption
Definition: PndHyp.h:287
Int_t beId
Definition: PndHyp.h:266
std::vector< std::string > fListOfSensitives
Definition: PndHyp.h:230
Bool_t fMatBud
Definition: PndHyp.h:289
Bool_t fListMat
Definition: PndHyp.h:236
TString name
TClonesArray * fHypSTMatBudCollection
Definition: PndHyp.h:280
Int_t fcount
Definition: PndHyp.h:259
Int_t fEventID
Definition: PndHyp.h:241
Int_t alId
Definition: PndHyp.h:266
Bool_t fUseGamOption
Definition: PndHyp.h:288
TString fVolNamSi
Definition: PndHyp.h:235
TClonesArray * fEvt
Definition: PndHyp.h:251
TFile * fFile
Definition: PndHyp.h:252
TTree * ft
Definition: PndHyp.h:253
TClonesArray * fHypCollection
Gives Access to the Path info of a hit.
Definition: PndHyp.h:278
Int_t fPosIndex
Definition: PndHyp.h:264
PndHyp::~PndHyp ( )
virtual

Destructor

Definition at line 149 of file PndHyp.cxx.

References fEvt, fFile, fGeoH, fHypCollection, fHypSecTarCollection, fHypSTMatBudCollection, and ft.

149  {
150  if (fHypCollection) {
151  fHypCollection->Delete();
152  delete fHypCollection;
153  }
154  if (fHypSecTarCollection) {
155  fHypSecTarCollection->Delete();
156  delete fHypSecTarCollection;
157  }
158 
160  fHypSTMatBudCollection->Delete();
161  delete fHypSTMatBudCollection;
162  }
163 
164  delete fGeoH;
165 
166  if (fEvt){
167  fEvt->Delete();
168  delete fEvt;}
169  if (fFile){
170 
171  delete fFile;}
172 
173  if (ft){
174  delete ft;}
175 
176  // delete r;
177  //delete fread;
178 
179 }
TClonesArray * fHypSecTarCollection
Hit collection.
Definition: PndHyp.h:279
PndHypGeoHandling * fGeoH
Input file name.
Definition: PndHyp.h:273
TClonesArray * fHypSTMatBudCollection
Definition: PndHyp.h:280
TClonesArray * fEvt
Definition: PndHyp.h:251
TFile * fFile
Definition: PndHyp.h:252
TTree * ft
Definition: PndHyp.h:253
TClonesArray * fHypCollection
Gives Access to the Path info of a hit.
Definition: PndHyp.h:278

Member Function Documentation

PndHypPoint * PndHyp::AddHit ( Int_t  trackID,
Int_t  evtID,
Int_t  detID,
TString  detName,
TVector3  posin,
TVector3  momin,
TVector3  posout,
TVector3  momout,
Double_t  tof,
Double_t  length,
Double_t  eLoss,
Double_t  charge,
Double_t  mass,
Int_t  pdgCode,
Double_t  dist,
Double_t  PLin,
Double_t  PLout 
)

Definition at line 812 of file PndHyp.cxx.

References fHypCollection.

Referenced by ProcessHits().

823  {
824  TClonesArray& clref = *fHypCollection;
825  Int_t size = clref.GetEntriesFast();
826  return new(clref[size]) PndHypPoint(trackID, evtID,detID, detName,pos, mom,
827  posout, momout,
828  time, length, eLoss,charge,
829  mass,pdgCode,
830  dist,PLin,PLout);
831  }
TVector3 pos
Double_t mom
Definition: plot_dirc.C:14
TClonesArray * fHypCollection
Gives Access to the Path info of a hit.
Definition: PndHyp.h:278
PndHypPoint * PndHyp::AddSecTarHit ( Int_t  trackID,
Int_t  evtID,
Int_t  detID,
TString  detName,
TVector3  posin,
TVector3  momin,
TVector3  posout,
TVector3  momout,
Double_t  tof,
Double_t  length,
Double_t  eLoss,
Double_t  charge,
Double_t  mass,
Int_t  pdgCode,
Double_t  dist,
Double_t  PLin,
Double_t  PLout 
)

Definition at line 839 of file PndHyp.cxx.

References fHypSecTarCollection.

Referenced by ProcessHits().

849  {
850  TClonesArray& clref = *fHypSecTarCollection;
851  Int_t size = clref.GetEntriesFast();
852  return new(clref[size]) PndHypPoint(trackID, evtID,detID, detName, pos,
853  mom, posout, momout,
854  time, length, eLoss,charge, mass, pdgCode,
855  dist,PLin,PLout);
856  }
TVector3 pos
TClonesArray * fHypSecTarCollection
Hit collection.
Definition: PndHyp.h:279
Double_t mom
Definition: plot_dirc.C:14
PndHypPoint * PndHyp::AddSTMatBudHit ( Int_t  trackID,
Int_t  evtID,
Int_t  detID,
TString  detName,
TVector3  posin,
TVector3  momin,
TVector3  posout,
TVector3  momout,
Double_t  tof,
Double_t  length,
Double_t  eLoss,
Double_t  charge,
Double_t  mass,
Int_t  pdgCode,
Double_t  dist,
Double_t  PLin,
Double_t  PLout 
)

Definition at line 864 of file PndHyp.cxx.

References fHypSTMatBudCollection.

Referenced by ProcessHits().

874  {
875  TClonesArray& clref = *fHypSTMatBudCollection;
876  Int_t size = clref.GetEntriesFast();
877  return new(clref[size]) PndHypPoint(trackID, evtID,detID, detName, pos,
878  mom, posout, momout,
879  time, length, eLoss,charge, mass, pdgCode,
880  dist,PLin,PLout);
881  }
TVector3 pos
Double_t mom
Definition: plot_dirc.C:14
TClonesArray * fHypSTMatBudCollection
Definition: PndHyp.h:280
void PndHyp::BeginEvent ( )
virtual

Definition at line 252 of file PndHyp.cxx.

252  {
253  // Begin of the event
254 
255 }
bool PndHyp::CheckIfSensitive ( std::string  name)
private

Definition at line 696 of file PndHyp.cxx.

References fListOfSensitives, and i.

697 {
698  for (size_t i = 0; i < fListOfSensitives.size(); i++){
699 
700  if (name.find(fListOfSensitives[i]) != std::string::npos)
701  return true;
702  }
703  return false;
704 }
Int_t i
Definition: run_full.C:25
std::vector< std::string > fListOfSensitives
Definition: PndHyp.h:230
TString name
void PndHyp::ConstructGeometry ( )
virtual

Virtual method Construct geometry

Definition at line 674 of file PndHyp.cxx.

References fRootSensVol, and TString.

674  {
675 
676 TString fileName=GetGeometryFileName();
677 
678  if(fileName.EndsWith(".geo")){
679  std::cout<< "Geometry format not supported " <<std::endl;
680  // ConstructASCIIGeometry();
681 
682  }else if (fileName.EndsWith(".root")){
683  fRootSensVol= kTRUE;
684 
685  ConstructRootGeometry();
686 }else{
687  std::cout<< "Geometry format not supported " <<std::endl;
688 
689 }
690 
691 }
Bool_t fRootSensVol
Definition: PndHyp.h:236
void PndHyp::CopyClones ( TClonesArray *  cl1,
TClonesArray *  cl2,
Int_t  offset 
)
virtual

Virtual method CopyClones

Copies the hit collection with a given track index offset

Parameters
cl1Origin
cl2Target
offsetIndex offset

Definition at line 657 of file PndHyp.cxx.

References fPosIndex, i, and offset().

657  {
658  Int_t nEntries = cl1->GetEntriesFast();
659  //cout << "-I- PndHyp: " << nEntries << " entries to add." << endl;
660  TClonesArray& clref = *cl2;
661  PndHypPoint* oldpoint = NULL;
662  for (Int_t i=0; i<nEntries; i++) {
663  oldpoint = (PndHypPoint*) cl1->At(i);
664  Int_t index = oldpoint->GetTrackID() + offset;
665  oldpoint->SetTrackID(index);
666  new (clref[fPosIndex]) PndHypPoint(*oldpoint);
667  fPosIndex++;
668  }
669  cout << " -I- PndHyp: " << cl2->GetEntriesFast() << " merged entries."
670  << endl;
671 }
Int_t i
Definition: run_full.C:25
TVector3 offset(2, 0, 0)
Int_t fPosIndex
Definition: PndHyp.h:264
void PndHyp::EndOfEvent ( )
virtual

Virtual method EndOfEvent

If verbosity level is set, print hit collection at the end of the event and resets it afterwards.

Definition at line 604 of file PndHyp.cxx.

References Print(), and Reset().

604  {
605  if (fVerboseLevel) Print();
606  Reset();
607 }
virtual void Print() const
Definition: PndHyp.cxx:632
virtual void Reset()
Definition: PndHyp.cxx:645
void PndHyp::FinishRun ( )
virtual

Definition at line 706 of file PndHyp.cxx.

References fFile, fUseFileOption, and fUseRAZHOption.

706  {
707  if (fUseRAZHOption==true && fUseFileOption==true ){
708  fFile->Write();
709  fFile->Close();
710  //delete fEvt;
711 
712 
713  cout<<" -I PndHyp::FinishRun():closing and deleting fFile fEvt "<<endl;
714  }
715 
716 }
Bool_t fUseFileOption
Definition: PndHyp.h:286
Bool_t fUseRAZHOption
Definition: PndHyp.h:287
TFile * fFile
Definition: PndHyp.h:252
TClonesArray * PndHyp::GetCollection ( Int_t  iColl) const
virtual

Accessor to the hit collection

Definition at line 622 of file PndHyp.cxx.

References fHypCollection, fHypSecTarCollection, and fHypSTMatBudCollection.

622  {
623  if (iColl == 0) return fHypCollection;
624  if (iColl == 1) return fHypSecTarCollection;
625  if (iColl == 2) return fHypSTMatBudCollection;
626 
627  return NULL;
628 }
TClonesArray * fHypSecTarCollection
Hit collection.
Definition: PndHyp.h:279
TClonesArray * fHypSTMatBudCollection
Definition: PndHyp.h:280
TClonesArray * fHypCollection
Gives Access to the Path info of a hit.
Definition: PndHyp.h:278
void PndHyp::Initialize ( )
virtual

Virtual method Initialize Initialises detector. Stores volume IDs for MUO detector and mirror.

Definition at line 185 of file PndHyp.cxx.

References activeCnt, C(), CId, CpipeId, fAbsMat, fBPipeMat, fCurrent, fEvt, fFile, fFileName, fGeoH, fListOfMaterials, fStandard, ft, fUseFileOption, fUseRAZHOption, fVers, gGeoManager, Initialize(), m, seed, SiId, and weight.

185  {
186  // Init function
187 
189 
190 
191 
192  if(0==gGeoManager) {
193  std::cout<<" -E- No gGeoManager in PndHyp Detector::Initialize()!"<<std::endl;
194  abort();
195  }
197 
198  // --- Opening output file for hypernuclei formation/decay
199 
200  // fread = new HypStatDecay("12C");
201 
202  if(fUseRAZHOption==true && fUseFileOption==true){
203 
204  fFile = new TFile(fFileName,"RECREATE");//gam+nucfrag "hypBupDecay2.root"
205  fEvt = new TClonesArray("THParticle",50);
206  ft = new TTree("data","hypernuclei");
207 
208  activeCnt=0;
209  weight =1.0;
210 
211  // define the tree branches
212  ft->Branch("Npart",&activeCnt,"Npart/I");
213  ft->Branch("Weigth",&weight,"Weight/D");
214  ft->Branch("Seed",&seed,"Seed/D");
215  ft->Branch("Particles",&fEvt,32000);
216  }
217 
218 
219  //-----------------------------------------------------------//
220 
221 
222  TGeoMedium *Si= gGeoManager->GetMedium("HYPsilicon");//fSiMat.Data());
223  if(Si)SiId= Si->GetId();
224 
225  //----disactivated when geo file is block
226 
227  if(fVers.Contains("standard")){
228 
229  fStandard=kTRUE;
230  fCurrent=kFALSE;
231 
232  TGeoMedium *C= gGeoManager->GetMedium(fAbsMat.Data());
233 
234  if(CId)CId= C->GetId();
235 
236  TGeoMedium *Cpipe= gGeoManager->GetMedium(fBPipeMat.Data());
237  if(CpipeId)CpipeId= Cpipe->GetId();
238 
239  }else if(fVers.Contains("List")){
240 
241  fStandard=kTRUE;//sebastian fVolumeID
242  fCurrent=kFALSE;
243 
244  for(size_t m=0;m<fListOfMaterials.size();m++){
245  gGeoManager->GetMedium(fListOfMaterials[m].Data());
246  }
247 
248  }
249 
250 }
Int_t CId
Definition: PndHyp.h:266
Double_t weight
Definition: PndHyp.h:257
Bool_t fUseFileOption
Definition: PndHyp.h:286
__m128 m
Definition: P4_F32vec4.h:28
TString fBPipeMat
Definition: PndHyp.h:235
Int_t SiId
Definition: PndHyp.h:266
Class to access the naming information of the MVD.
TString fVers
Definition: PndHyp.h:235
TGeoManager * gGeoManager
Bool_t fUseRAZHOption
Definition: PndHyp.h:287
TString fAbsMat
Definition: PndHyp.h:235
PndHypGeoHandling * fGeoH
Input file name.
Definition: PndHyp.h:273
const Char_t * fFileName
Definition: PndHyp.h:271
int Pic_FED Eff_lEE C()
Double_t seed
Definition: PndHyp.h:258
Int_t CpipeId
Definition: PndHyp.h:266
Int_t activeCnt
Definition: PndHyp.h:256
Bool_t fStandard
Definition: PndHyp.h:236
Bool_t fCurrent
Definition: PndHyp.h:236
TClonesArray * fEvt
Definition: PndHyp.h:251
TFile * fFile
Definition: PndHyp.h:252
std::vector< TString > fListOfMaterials
Definition: PndHyp.h:231
Mvd Initialize()
TTree * ft
Definition: PndHyp.h:253
void PndHyp::PreTrack ( )

Definition at line 259 of file PndHyp.cxx.

References fTrackStopNxtStep.

259  {
260  // Begin of the event
261 
262  fTrackStopNxtStep=kFALSE;
263  // cout << " PndHyp::PreTrack() "<< endl;
264 
265 }
Bool_t fTrackStopNxtStep
Definition: PndHyp.h:285
void PndHyp::Print ( ) const
virtual

Virtual method Print

Screen output of hit collection.

Definition at line 632 of file PndHyp.cxx.

References fHypCollection, i, and nHits.

Referenced by EndOfEvent().

632  {
633  Int_t nHits = fHypCollection->GetEntriesFast();
634  cout << "-I- PndHyp: " << nHits << " points registered in this event."
635  << endl;
636 
637  if (fVerboseLevel>1)
638  for (Int_t i=0; i<nHits; i++) (*fHypCollection)[i]->Print();
639 }
Int_t i
Definition: run_full.C:25
int nHits
Definition: RiemannTest.C:16
TClonesArray * fHypCollection
Gives Access to the Path info of a hit.
Definition: PndHyp.h:278
Bool_t PndHyp::ProcessHits ( FairVolume *  vol = 0)
virtual

Virtual method ProcessHits

Defines the action to be taken when a step is inside the active volume. Creates PndHypPoints and PndHypMirrorPoints and adds them to the collections.

Parameters
volPointer to the active volume

std::cout<<" " <<std::endl;

Definition at line 278 of file PndHyp.cxx.

References AddHit(), AddSecTarHit(), AddSTMatBudHit(), CId, Double_t, fcharge, fCurrent, fdist, fELoss, fEventID, fGeoH, fLength, fmass, fMatBud, fMomIn, fMomOut, fpdgCode, fPLin, fPLout, fPosIn, fPosOut, fStartEvID, fTime, fTrackID, fTrackStopNxtStep, fUseFileOption, fUseRAZHOption, fVolumeID, PndHypGeoHandling::GetID(), gGeoManager, nam, ResetParameters(), SetHypStatDecay(), SiId, and TString.

281 {
282 
283 
284  Double_t beta; TString nam; //Double_t gamma; //[R.K. 01/2017] unused variable
285  Int_t nSiL = -1,nAbL = -1;
286  ostringstream FullName,matName;
287 
288  Int_t medId = gMC->CurrentMedium();
289  TVector3 radt;
290  fpdgCode=-1;
291  fpdgCode = gMC->TrackPid();
292 
293  if(fTrackStopNxtStep) {
294  //if( gMC->TrackPid()==3312)//&&(medId==SiId||medId==CId))
295  //cout<<"particle "<< gMC->TrackPid() << " " <<fTrackStopNxtStep <<endl;
296  gMC->StopTrack();
297  return kTRUE;
298  }
299 
300  TString nam2 = gMC->CurrentVolName();
301 
302 
303  /*gMC->TrackMomentum(PiL);
304  if (gMC->TrackPid()>1010000000 ||gMC->TrackPid()>1020000000 ||gMC->TrackPid()==-211) cout<<"ProcessHits : Energy Loss hyp "<< gMC->TrackPid() << " "<<vol->getName() <<" "<<PiL.P()<<" "<<gMC->Edep()<<endl;
305  if(PiL.P()>3.)cout<<"ProcessHits : Energy Loss "<< gMC->TrackPid() << " "
306  <<vol->getName() <<" "<<PiL.P()<<" "<<gMC->Edep()<<endl;
307  */
308 
309  if (medId==SiId)
310  { //hola
311 
312  if ( gMC->IsTrackEntering() )
313  {
314  fELoss = 0.;
315  fTime = gMC->TrackTime() * 1.0e09;
316  fLength = gMC->TrackLength();
317  fmass = gMC->TrackMass(); // mass (GeV)
318  fcharge = gMC->TrackCharge(); // charge?
319 
320  if(fStartEvID>0)
321  {
322  fEventID = gMC->CurrentEvent()+fStartEvID;
323  }else fEventID = gMC->CurrentEvent();
324 
325  gMC->TrackPosition(fPosIn);
326  gMC->TrackMomentum(fMomIn);
327 
328 
329  }
330 
331  // Sum energy loss for all steps in the active volume
332 
333  fELoss += gMC->Edep();
334 
335  // Set additional parameters at exit of active volume. Create CbmStsPoint.
336 
337  TLorentzVector PL;
338  gMC->TrackMomentum(PL);
339 
340  if ( (gMC->IsTrackExiting() ||
341  gMC->IsTrackStop() ||
342  gMC->IsTrackDisappeared() )&& gMC->TrackCharge() )
343  {
344  fTrackID = gMC->GetStack()->GetCurrentTrackNumber();
345 
346 
347 
348 
349  //*** now the volume is through the layer number characterised.(X-Z,Z-Y)
350 
351  if (fCurrent) {
352  if ((nam2.Contains("Sensor"))) {
353  sscanf(nam2,"Sensor%d", &nSiL);
354  fVolumeID=nSiL;
355  }
356  }else fVolumeID = vol->getCopyNo();
357 
358 
359  //**************///
360 
361  //FullName << gGeoManager->GetPath();
362 
363 
364 
365  //cout << "******* Info from gMC *************" << endl;
366  //Int_t cp=-1; //[R.K.02/2017] Unused variable?
367  //Int_t fVolid = gMC->CurrentVolID(cp); //[R.K.02/2017] Unused variable?
368 
369 
370  //cout << " Vol Name: " << gMC->CurrentVolPath() <<" vol id "<<vol->getMCid()<< endl;
371 
372  /* TString nam2 = gMC->CurrentVolName();
373  if ((nam2.Contains("Si"))) {
374  sscanf(nam2,"stglSi%d#01", &nSiL);
375  cout << "hyp::ProcessHits> : " << nam2 <<" # "
376  <<nSiL<<" "<<"Hit in "<< gGeoManager->GetPath()<<endl;
377  } */
378 
379  FullName <<gMC->CurrentVolPath();
380 
381  if(0==fGeoH) {
382  std::cout<<" -E- No PndHypGeoHandling loaded."<<std::endl;
383  abort();
384  }
385 
386 
387  gMC->TrackPosition(fPosOut);
388  gMC->TrackMomentum(fMomOut);
389 
390  if (fELoss == 0. ) return kFALSE;
391 
392  radt= fPosOut.Vect();
393  fdist=radt.Perp();
394  beta = fMomOut.Beta();
395  //gamma = fMomOut.Gamma();
396  fPLin = beta;
397  //fPLin = fMomIn.P();
398  fPLout = fMomOut.P();
399 
401  fGeoH->GetID(gMC->CurrentVolPath()),
402  TVector3(fPosIn.X(), fPosIn.Y(), fPosIn.Z()),
403  TVector3(fMomIn.Px(), fMomIn.Py(), fMomIn.Pz()),
404  TVector3(fPosOut.X(), fPosOut.Y(), fPosOut.Z()),
405  TVector3(fMomOut.Px(), fMomOut.Py(), fMomOut.Pz()),
407  fdist,fPLin,fPLout);
408 
409  // Increment number of PndMvd points for TParticle
410  // PndStack* stack = (PndStack*) gMC->GetStack();
411  // stack->AddPoint(kHYP);
412 
413  ResetParameters();
414  }
415 
416  //return kTRUE;
417 
418 
419 
420  }//volSi
421 
422 
423 
424  // -----
425 
426  else if(fMatBud && (!nam2.Contains("Absorber"))&&(!nam2.Contains("Sensor")))
427  {
428 
429  // std::cout<<nam2.Data()<<std::endl;
430 
431  if ( gMC->IsTrackEntering() )
432  {
433  fELoss = 0.;
434  fTime = gMC->TrackTime() * 1.0e09;
435  fLength = gMC->TrackLength();
436  fmass = gMC->TrackMass(); // mass (GeV)
437  fcharge = gMC->TrackCharge(); // charge?
438 
439  if(fStartEvID>0)
440  {
441  fEventID = gMC->CurrentEvent()+fStartEvID;
442  }else fEventID = gMC->CurrentEvent();
443 
444  gMC->TrackPosition(fPosIn);
445  gMC->TrackMomentum(fMomIn);
446 
447 
448  }
449 
450  // Sum energy loss for all steps in the active volume
451 
452  fELoss += gMC->Edep();
453 
454  // Set additional parameters at exit of active volume.
455 
456 
457 
458  if ( (gMC->IsTrackExiting() ||
459  gMC->IsTrackStop() ||
460  gMC->IsTrackDisappeared() )&& gMC->TrackCharge() )
461  {
462  fTrackID = gMC->GetStack()->GetCurrentTrackNumber();
463 
465 
466  fVolumeID = vol->getCopyNo();
467 
468  gMC->TrackPosition(fPosOut);
469  gMC->TrackMomentum(fMomOut);
470 
471  if (fELoss == 0. ) return kFALSE;
472 
473  radt= fPosOut.Vect();
474  fdist=radt.Perp();
475  beta = fMomOut.Beta();
476 
477  fPLin = beta;
478 
479  fPLout = fMomOut.P();
480 
482  TVector3(fPosIn.X(), fPosIn.Y(), fPosIn.Z()),
483  TVector3(fMomIn.Px(), fMomIn.Py(), fMomIn.Pz()),
484  TVector3(fPosOut.X(), fPosOut.Y(), fPosOut.Z()),
485  TVector3(fMomOut.Px(), fMomOut.Py(), fMomOut.Pz()),
487  fdist,fPLin,fPLout);
488 
489  // Increment number of PndMvd points for TParticle
490  // PndStack* stack = (PndStack*) gMC->GetStack();
491  // stack->AddPoint(kHYP);
492 
493  ResetParameters();
494 
495  }
496 
497 
498 
499  }
500 
501  //--------
502  else if ((fpdgCode==3312)&&(nam2.Contains("Ab")))//||nam2.Contains("Si")))
503  { //absorber
504 
505  if ( gMC->IsTrackEntering() )
506  {
507  fELoss = 0.;
508  fTime = gMC->TrackTime() * 1.0e09;
509  fLength = gMC->TrackLength();
510  fmass = gMC->TrackMass(); // mass (GeV)
511  fcharge = gMC->TrackCharge(); // charge?
512 
513 
514  if(fStartEvID>0)
515  {
516  fEventID = gMC->CurrentEvent()+fStartEvID;
517  }else fEventID = gMC->CurrentEvent();
518 
519 
520  gMC->TrackPosition(fPosIn);
521  gMC->TrackMomentum(fMomIn);
522 
523  }
524 
525  // Sum energy loss for all steps in the active volume
526 
527  fELoss += gMC->Edep();
528  // Gamma, Beta, tau(proper time) of ximnus
529  TLorentzVector PL;
530  gMC->TrackMomentum(PL);
531  beta = PL.Beta();
532 
533 
534  if (beta==0.0)
535  {
536  fTrackID = gMC->GetStack()->GetCurrentTrackNumber();
537 
538  if (fCurrent) {
539 
540  if ((nam2.Contains("Absorber"))) {
541  sscanf(nam2,"Absorber%d", &nAbL);
542  cout << "hyp::ProcessHits> : " << nam2 <<" # "
543  <<nAbL<<" "<<"Hit in "<< gGeoManager->GetPath()<<endl;
544  fVolumeID = nAbL;
545  }
546  }else fVolumeID = vol->getMCid();
547 
548  gMC->TrackPosition(fPosOut);
549  gMC->TrackMomentum(fMomOut);
550 
551  //ostringstream matName;
552  TString mat[4]={"CAbs","Si","Be","Al"};
553  if (medId==CId) matName<<"CAbs";
554  if (medId==SiId) matName<<"Si";
555  // cout << "Hit in fullname " << matName.str() <<endl;
556  if (fELoss == 0. ) return kFALSE;
557 
558  //---Kinetic energy:###(PL.P())^2 + Mass^2 -Mass##
559  radt= fPosOut.Vect();
560  fdist=radt.Perp();
561  //beta = fMomOut.Beta();
562  //gamma = fMomOut.Gamma();
563  fPLin = beta;
564  //fPLin = fMomIn.P();
565  fPLout = fMomOut.P();
566 
567 
568 
569  AddSecTarHit(fTrackID, fEventID,fVolumeID,matName.str(),
570  TVector3(fPosIn.X(), fPosIn.Y(), fPosIn.Z()),
571  TVector3(fMomIn.Px(), fMomIn.Py(), fMomIn.Pz()),
572  TVector3(fPosOut.X(), fPosOut.Y(), fPosOut.Z()),
573  TVector3(fMomOut.Px(), fMomOut.Py(), fMomOut.Pz()),
575  fdist,fPLin,fPLout);
576 
577  // ***** Statistical Decay of a compound hyperfragment********
579 
580 
581  fTrackStopNxtStep=kTRUE;
582 
583  // Increment number of PndMvd points for TParticle
584  //PndStack* stack = (PndStack*) gMC->GetStack();
585  //stack->AddPoint(kHYP);
586 
587  ResetParameters();
588 
589  } //
590 
591 
592  }//no volSi
593 
594 
595 
596  return kTRUE;
597 
598 
599 } //ProcessHits
Int_t CId
Definition: PndHyp.h:266
TLorentzVector fMomOut
Definition: PndHyp.h:245
Bool_t fUseFileOption
Definition: PndHyp.h:286
TLorentzVector fMomIn
Definition: PndHyp.h:243
PndHypPoint * AddHit(Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout, Double_t tof, Double_t length, Double_t eLoss, Double_t charge, Double_t mass, Int_t pdgCode, Double_t dist, Double_t PLin, Double_t PLout)
Definition: PndHyp.cxx:812
Int_t SiId
Definition: PndHyp.h:266
Double32_t fTime
Definition: PndHyp.h:261
Int_t fStartEvID
Definition: PndHyp.h:237
TGeoManager * gGeoManager
Bool_t fUseRAZHOption
Definition: PndHyp.h:287
Double32_t fELoss
Definition: PndHyp.h:263
Int_t fpdgCode
Definition: PndHyp.h:265
Bool_t fTrackStopNxtStep
Definition: PndHyp.h:285
Double_t fmass
Definition: PndHyp.h:269
PndHypGeoHandling * fGeoH
Input file name.
Definition: PndHyp.h:273
Double_t fPLin
Definition: PndHyp.h:248
Double_t fdist
Definition: PndHyp.h:269
PndHypPoint * AddSecTarHit(Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout, Double_t tof, Double_t length, Double_t eLoss, Double_t charge, Double_t mass, Int_t pdgCode, Double_t dist, Double_t PLin, Double_t PLout)
Definition: PndHyp.cxx:839
Int_t fVolumeID
Definition: PndHyp.h:240
Double_t
PndHypPoint * AddSTMatBudHit(Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout, Double_t tof, Double_t length, Double_t eLoss, Double_t charge, Double_t mass, Int_t pdgCode, Double_t dist, Double_t PLin, Double_t PLout)
Definition: PndHyp.cxx:864
Bool_t fMatBud
Definition: PndHyp.h:289
TString GetID(TString path)
for a given TGeoManager-path the ID is returned
Int_t fEventID
Definition: PndHyp.h:241
void SetHypStatDecay(bool cal, bool active)
Definition: PndHyp.cxx:720
Bool_t fCurrent
Definition: PndHyp.h:236
Double32_t fLength
Definition: PndHyp.h:262
TLorentzVector fPosOut
Definition: PndHyp.h:244
Double_t fPLout
Definition: PndHyp.h:248
Double_t fcharge
Definition: PndHyp.h:268
TString nam
Definition: sim_hypGe.C:48
TLorentzVector fPosIn
Definition: PndHyp.h:242
void ResetParameters()
Definition: PndHyp.h:297
Int_t fTrackID
Definition: PndHyp.h:239
void PndHyp::Register ( )
virtual

Virtual method Register

Registers the hit collection in the ROOT manager.

Definition at line 611 of file PndHyp.cxx.

References fHypCollection, fHypSecTarCollection, fHypSTMatBudCollection, and fMatBud.

611  {
612  FairRootManager::Instance()->Register("HypPoint","Hyp", fHypCollection, kTRUE);
613  FairRootManager::Instance()->Register("HypSegTarPoint","HypSecTarg",
614  fHypSecTarCollection, kTRUE);
615  FairRootManager::Instance()->Register("HypSTMatBudPoint","HypMatBud",
617 
618 }
TClonesArray * fHypSecTarCollection
Hit collection.
Definition: PndHyp.h:279
Bool_t fMatBud
Definition: PndHyp.h:289
TClonesArray * fHypSTMatBudCollection
Definition: PndHyp.h:280
TClonesArray * fHypCollection
Gives Access to the Path info of a hit.
Definition: PndHyp.h:278
void PndHyp::Reset ( )
virtual

Virtual method Reset

Clears the hit collection

Definition at line 645 of file PndHyp.cxx.

References fHypCollection, fHypSecTarCollection, fHypSTMatBudCollection, and fPosIndex.

Referenced by EndOfEvent().

645  {
646  fHypCollection->Clear();
647  fHypSecTarCollection->Clear();
649 
650  fPosIndex = 0;
651 }
TClonesArray * fHypSecTarCollection
Hit collection.
Definition: PndHyp.h:279
TClonesArray * fHypSTMatBudCollection
Definition: PndHyp.h:280
TClonesArray * fHypCollection
Gives Access to the Path info of a hit.
Definition: PndHyp.h:278
Int_t fPosIndex
Definition: PndHyp.h:264
void PndHyp::ResetParameters ( )
inlineprivate

Definition at line 297 of file PndHyp.h.

Referenced by ProcessHits().

297  {
298  fTrackID = fVolumeID = fEventID =-1;
299  fPosIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
300  fPosOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
301  fMomIn.SetPxPyPzE(0.0, 0.0, 0.0, 0.0);
302  fMomOut.SetPxPyPzE(0.0, 0.0, 0.0, 0.0);
303  /* fPosInLocal.SetXYZM(0.0, 0.0, 0.0, 0.0); */
304 /* fPosOutLocal.SetXYZM(0.0, 0.0, 0.0, 0.0); */
305  fTime = fLength = fELoss = 0;
306 
307 };
TLorentzVector fMomOut
Definition: PndHyp.h:245
TLorentzVector fMomIn
Definition: PndHyp.h:243
Double32_t fTime
Definition: PndHyp.h:261
Double32_t fELoss
Definition: PndHyp.h:263
Int_t fVolumeID
Definition: PndHyp.h:240
Int_t fEventID
Definition: PndHyp.h:241
Double32_t fLength
Definition: PndHyp.h:262
TLorentzVector fPosOut
Definition: PndHyp.h:244
TLorentzVector fPosIn
Definition: PndHyp.h:242
Int_t fTrackID
Definition: PndHyp.h:239
void PndHyp::SetAbsMat ( TString  abmat = "HYPdiamond")
inline

Definition at line 214 of file PndHyp.h.

214  {
215  fAbsMat=abmat;
216  }
TString fAbsMat
Definition: PndHyp.h:235
void PndHyp::SetAbsorberVol ( TString  VolAb)
inline

Definition at line 199 of file PndHyp.h.

Referenced by QAmacro_hyp_1(), run(), run_test(), runSimHF_GiB_DC(), sim_Gamma(), sim_hypGe_extparameters_urqmd(), and sim_pid_runSimHF_GiB_DC().

199  {
200  fVolNamAb=VolAb.Data();
201 
202  }
TString fVolNamAb
Definition: PndHyp.h:235
void PndHyp::SetBPipeMat ( TString  bpmat = "HYPcarbon")
inline

Definition at line 218 of file PndHyp.h.

218  {
219  fBPipeMat=bpmat;
220  }
TString fBPipeMat
Definition: PndHyp.h:235
void PndHyp::SetGeoVersion ( TString  vers = "standard")
inline

Definition at line 210 of file PndHyp.h.

Referenced by QAmacro_hyp_1(), run(), run_test(), runSimHF_GiB_DC(), sim_Gamma(), and sim_pid_runSimHF_GiB_DC().

210  {
211  fVers=vers;
212  }
TString fVers
Definition: PndHyp.h:235
void PndHyp::SetHypGamFEm ( bool  gam)
inline

Definition at line 183 of file PndHyp.h.

References gam.

Referenced by QAmacro_hyp_1(), run(), and run_test().

184  {
185  fUseGamOption = gam;
186  }
CandList gam
Bool_t fUseGamOption
Definition: PndHyp.h:288
void PndHyp::SetHypSDtoFile ( bool  onf,
bool  val 
)
inline

Definition at line 177 of file PndHyp.h.

References val.

Referenced by QAmacro_hyp_1(), run(), run_test(), and sim_pid_runSimHF_GiB_DC().

178  {
179  fUseRAZHOption = onf;// **switch On/Off HypStatDecay**
181  };
Bool_t fUseFileOption
Definition: PndHyp.h:286
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
Bool_t fUseRAZHOption
Definition: PndHyp.h:287
void PndHyp::SetHypStatDecay ( bool  cal,
bool  active 
)
private

Definition at line 720 of file PndHyp.cxx.

References activeCnt, cnt, Double_t, fcount, fEvt, fPosOut, ft, and fUseGamOption.

Referenced by ProcessHits().

720  {
721 // ***** Sequential Decay of a compound hyperfragment********
722 
723 if(cal==true){
724 
725 
726 if(active==true){
727 fEvt->Clear();
728 
729 }
730  Int_t cnt = 0;
731 
732  cout<<" increment count "<<fcount<<endl;
733 
734  if(fUseGamOption){
735  //default gamma emission THParticle object
736  //for calibration from Xi- stopping vertex
737  //momentum is given via generator
738 
739 
740  TLorentzVector PG(0.,0.,0., 1.);//
741 
742 
743  TLorentzVector VG;
744 
745  // std::cout<<fPosOut.X()<<" "<<fPosOut.Y()<<" "<<fPosOut.Z()<<std::endl;
746 
747  VG.SetX( fPosOut.X()); VG.SetY(fPosOut.Y()); VG.SetZ(fPosOut.Z());
748  std::cout<<VG.X()<<" "<<VG.Y()<<" "<<VG.Z()<<std::endl;
749 
750  if(active==true){
751  THParticle fGamma(22,1,0,0,0,0,0,0,PG,VG);
752 
753  new((*fEvt)[cnt++]) THParticle(fGamma);
754  }
755 
756  }else
757  {
758  //emission of two pions from mesonic weak decay of DHP
759 
760 
761  TLorentzVector target4(0.0, 0.0, 0., 5.95137);//He6LL
762  TLorentzVector target5(0.0, 0.0, 0., 5.7789);//Li6L
763 
764  TLorentzVector target6(0.,0.,0., 10.60335);//Be11LL
765  TLorentzVector target7(0.,0.,0., 10.41176);//B11L
766 
767  TLorentzVector W6 = target6;
768  TLorentzVector W7 = target7;
769 
770  Double_t mass4[2] = { 10.41176, 0.139};//B11L
771  Double_t mass5[2] = { 10.25409, 0.139};//C11
772 
773  TGenPhaseSpace ev6;
774  ev6.SetDecay(W6, 2, mass4);//two-body kinematics assumption
775  TGenPhaseSpace ev7;
776  ev7.SetDecay(W7, 2, mass5);
777 
778  ev6.Generate();//Double_t weight7 = //[R.K.03/2017] unused variable
779  TLorentzVector *pPi6 = ev6.GetDecay(1);
780  ev7.Generate();//Double_t weight8 = //[R.K.03/2017] unused variable
781  TLorentzVector *pPi7 = ev7.GetDecay(1);
782 
783  TLorentzVector V;
784  // std::cout<<fPosOut.X()<<" "<<fPosOut.Y()<<" "<<fPosOut.Z()<<std::endl;
785  V.SetX( fPosOut.X()); V.SetY(fPosOut.Y()); V.SetZ(fPosOut.Z());
786  std::cout<<V.X()<<" "<<V.Y()<<" "<<V.Z()<<std::endl;
787  if(active==true){
788  THParticle fpion_H(-211,1,0,0,0,0,0,0,*pPi6,V);
789 
790  new((*fEvt)[cnt++]) THParticle(fpion_H);
791 
792  THParticle fpion_L(-211,1,0,0,0,0,0,0,*pPi7,V);
793 
794  new((*fEvt)[cnt++]) THParticle(fpion_L);
795  cout<<cnt<<endl;
796  }
797  }
798 
799  if(active==true){
800  activeCnt = cnt;
801  ft->Fill();
802  }
803 
804  }
805 
806 
807 
808 }
Double_t
Int_t activeCnt
Definition: PndHyp.h:256
Int_t fcount
Definition: PndHyp.h:259
Int_t cnt
Definition: hist-t7.C:106
Bool_t fUseGamOption
Definition: PndHyp.h:288
TClonesArray * fEvt
Definition: PndHyp.h:251
TLorentzVector fPosOut
Definition: PndHyp.h:244
TTree * ft
Definition: PndHyp.h:253
void PndHyp::SetListMat ( TString  mat = "carbon")
inline

Definition at line 222 of file PndHyp.h.

Referenced by QAmacro_hyp_1(), run(), run_test(), runSimHF_GiB_DC(), sim_Gamma(), and sim_pid_runSimHF_GiB_DC().

222  {
223  fListMat=kTRUE;
224  fListOfMaterials.push_back(mat.Data());
225  }
Bool_t fListMat
Definition: PndHyp.h:236
std::vector< TString > fListOfMaterials
Definition: PndHyp.h:231
void PndHyp::SetMatbud ( bool  mbud)
inline

Definition at line 188 of file PndHyp.h.

Referenced by QAmacro_hyp_1(), run(), and sim_Gamma().

189  {
190  fMatBud = mbud;
191  }
Bool_t fMatBud
Definition: PndHyp.h:289
void PndHyp::SetSensorVol ( TString  VolSi)
inline
void PndHyp::SetSpecialPhysicsCuts ( )
virtual

Definition at line 268 of file PndHyp.cxx.

268  {
269  // FairRun* fRun = FairRun::Instance();
270 
271  //Int_t mat = gGeoManager->GetMaterialIndex("HYPdiamond");
272  //gMC->Gstpar(mat,"HADR",1.0e-9);
273 }
void PndHyp::SetStartEvID ( Int_t  EvID = 0)
inline

Definition at line 204 of file PndHyp.h.

Referenced by sim_pid_runSimHF_GiB_DC().

204  {
205  fStartEvID=EvID;
206  cout<<" starting value for EvId "<<fStartEvID<<endl;
207 
208  }
Int_t fStartEvID
Definition: PndHyp.h:237
void PndHyp::SetTreeFName ( const Char_t *  Name)
inline

Definition at line 193 of file PndHyp.h.

Referenced by QAmacro_hyp_1(), run(), run_test(), and sim_pid_runSimHF_GiB_DC().

193 { fFileName = Name; };
const Char_t * fFileName
Definition: PndHyp.h:271

Member Data Documentation

Int_t PndHyp::activeCnt
private

Definition at line 256 of file PndHyp.h.

Referenced by Initialize(), and SetHypStatDecay().

Int_t PndHyp::alId
private

Definition at line 266 of file PndHyp.h.

Referenced by PndHyp().

Int_t PndHyp::beId
private

Definition at line 266 of file PndHyp.h.

Referenced by PndHyp().

Int_t PndHyp::CId
private

Definition at line 266 of file PndHyp.h.

Referenced by Initialize(), PndHyp(), and ProcessHits().

Int_t PndHyp::CpipeId
private

Definition at line 266 of file PndHyp.h.

Referenced by Initialize(), and PndHyp().

TString PndHyp::fAbsMat
private

Definition at line 235 of file PndHyp.h.

Referenced by Initialize().

TString PndHyp::fBPipeMat
private

Definition at line 235 of file PndHyp.h.

Referenced by Initialize().

Double_t PndHyp::fcharge
private

Definition at line 268 of file PndHyp.h.

Referenced by ProcessHits().

Int_t PndHyp::fcount
private

Definition at line 259 of file PndHyp.h.

Referenced by SetHypStatDecay().

Bool_t PndHyp::fCurrent
private

Definition at line 236 of file PndHyp.h.

Referenced by Initialize(), and ProcessHits().

Double_t PndHyp::fdist
private

Definition at line 269 of file PndHyp.h.

Referenced by ProcessHits().

Double32_t PndHyp::fELoss
private

Definition at line 263 of file PndHyp.h.

Referenced by ProcessHits().

Int_t PndHyp::fEventID
private

Definition at line 241 of file PndHyp.h.

Referenced by PndHyp(), and ProcessHits().

TClonesArray* PndHyp::fEvt
private

Definition at line 251 of file PndHyp.h.

Referenced by Initialize(), PndHyp(), SetHypStatDecay(), and ~PndHyp().

TFile* PndHyp::fFile
private

Definition at line 252 of file PndHyp.h.

Referenced by FinishRun(), Initialize(), PndHyp(), and ~PndHyp().

const Char_t* PndHyp::fFileName
private

Definition at line 271 of file PndHyp.h.

Referenced by Initialize().

PndHypGeoHandling* PndHyp::fGeoH
private

Input file name.

Definition at line 273 of file PndHyp.h.

Referenced by Initialize(), ProcessHits(), and ~PndHyp().

TClonesArray* PndHyp::fHypCollection
private

Gives Access to the Path info of a hit.

Definition at line 278 of file PndHyp.h.

Referenced by AddHit(), GetCollection(), PndHyp(), Print(), Register(), Reset(), and ~PndHyp().

TClonesArray* PndHyp::fHypSecTarCollection
private

Hit collection.

Definition at line 279 of file PndHyp.h.

Referenced by AddSecTarHit(), GetCollection(), PndHyp(), Register(), Reset(), and ~PndHyp().

TClonesArray* PndHyp::fHypSTMatBudCollection
private

Definition at line 280 of file PndHyp.h.

Referenced by AddSTMatBudHit(), GetCollection(), PndHyp(), Register(), Reset(), and ~PndHyp().

Double32_t PndHyp::fLength
private

Definition at line 262 of file PndHyp.h.

Referenced by ProcessHits().

Bool_t PndHyp::fListMat
private

Definition at line 236 of file PndHyp.h.

Referenced by PndHyp().

std::vector<TString> PndHyp::fListOfMaterials
private

Definition at line 231 of file PndHyp.h.

Referenced by Initialize().

std::vector<std::string> PndHyp::fListOfSensitives
private

Definition at line 230 of file PndHyp.h.

Referenced by CheckIfSensitive(), and PndHyp().

Double_t PndHyp::fmass
private

Definition at line 269 of file PndHyp.h.

Referenced by ProcessHits().

Bool_t PndHyp::fMatBud
private

Definition at line 289 of file PndHyp.h.

Referenced by ProcessHits(), and Register().

TLorentzVector PndHyp::fMomIn
private

Definition at line 243 of file PndHyp.h.

Referenced by ProcessHits().

TLorentzVector PndHyp::fMomOut
private

Definition at line 245 of file PndHyp.h.

Referenced by ProcessHits().

Int_t PndHyp::fpdgCode
private

Definition at line 265 of file PndHyp.h.

Referenced by ProcessHits().

Double_t PndHyp::fPLin
private

Definition at line 248 of file PndHyp.h.

Referenced by ProcessHits().

Double_t PndHyp::fPLout
private

Definition at line 248 of file PndHyp.h.

Referenced by ProcessHits().

TLorentzVector PndHyp::fPosIn
private

Definition at line 242 of file PndHyp.h.

Referenced by ProcessHits().

Int_t PndHyp::fPosIndex
private

Definition at line 264 of file PndHyp.h.

Referenced by CopyClones(), PndHyp(), and Reset().

TLorentzVector PndHyp::fPosOut
private

Definition at line 244 of file PndHyp.h.

Referenced by ProcessHits(), and SetHypStatDecay().

Bool_t PndHyp::fRootSensVol
private

Definition at line 236 of file PndHyp.h.

Referenced by ConstructGeometry().

TString PndHyp::fSiMat
private

Definition at line 235 of file PndHyp.h.

Bool_t PndHyp::fStandard
private

Definition at line 236 of file PndHyp.h.

Referenced by Initialize().

Int_t PndHyp::fStartEvID
private

Definition at line 237 of file PndHyp.h.

Referenced by ProcessHits().

TTree* PndHyp::ft
private

Definition at line 253 of file PndHyp.h.

Referenced by Initialize(), PndHyp(), SetHypStatDecay(), and ~PndHyp().

Double32_t PndHyp::fTime
private

Definition at line 261 of file PndHyp.h.

Referenced by ProcessHits().

Int_t PndHyp::fTrackID
private

Definition at line 239 of file PndHyp.h.

Referenced by ProcessHits().

Bool_t PndHyp::fTrackStopNxtStep
private

Definition at line 285 of file PndHyp.h.

Referenced by PreTrack(), and ProcessHits().

Bool_t PndHyp::fUseFileOption
private

Definition at line 286 of file PndHyp.h.

Referenced by FinishRun(), Initialize(), and ProcessHits().

Bool_t PndHyp::fUseGamOption
private

Definition at line 288 of file PndHyp.h.

Referenced by SetHypStatDecay().

Bool_t PndHyp::fUseRAZHOption
private

Definition at line 287 of file PndHyp.h.

Referenced by FinishRun(), Initialize(), and ProcessHits().

TString PndHyp::fVers
private

Definition at line 235 of file PndHyp.h.

Referenced by Initialize().

TString PndHyp::fVolNamAb
private

Definition at line 235 of file PndHyp.h.

Referenced by PndHyp().

TString PndHyp::fVolNamSi
private

Definition at line 235 of file PndHyp.h.

Referenced by PndHyp().

Int_t PndHyp::fVolumeID
private

Definition at line 240 of file PndHyp.h.

Referenced by ProcessHits().

TRandom PndHyp::r
private

Definition at line 281 of file PndHyp.h.

Double_t PndHyp::seed
private

Definition at line 258 of file PndHyp.h.

Referenced by Initialize().

Int_t PndHyp::SiId
private

Definition at line 266 of file PndHyp.h.

Referenced by Initialize(), PndHyp(), and ProcessHits().

Double_t PndHyp::weight
private

Definition at line 257 of file PndHyp.h.

Referenced by Initialize().


The documentation for this class was generated from the following files: