本文整理汇总了C++中KVDetector::GetName方法的典型用法代码示例。如果您正苦于以下问题:C++ KVDetector::GetName方法的具体用法?C++ KVDetector::GetName怎么用?C++ KVDetector::GetName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KVDetector
的用法示例。
在下文中一共展示了KVDetector::GetName方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Print
//___________________________________________________________________________________________
void KVIDTelescope::Print(Option_t* opt) const
{
// print out telescope structure
//if opt="fired" only fired detectors are printed
TIter next(fDetectors);
KVDetector* obj;
if (!strcmp(opt, "fired")) {
while ((obj = (KVDetector*) next())) {
if (obj->Fired() || obj->GetEnergy())
obj->Print("data");
}
} else {
cout << "\n" << opt << "Structure of KVIDTelescope object: " <<
GetName() << " " << GetType() << endl;
cout << opt <<
"--------------------------------------------------------" <<
endl;
while ((obj = (KVDetector*) next())) {
cout << opt << "Detector: " << obj->GetName() << endl;
}
}
}
示例2: SetGains
void KVINDRAUpDater::SetGains(KVDBRun* kvrun)
{
//Set gains used during this run
//First all detector gains are set to 1.
//Then, any detectors for which a different gain has been defined
//will have its gain set to the value for the run
TIter next(fArray->GetDetectors());
KVDetector* kvd;
while ((kvd = (KVDetector*) next()))
kvd->SetGain(1.00);
KVRList* gain_list = kvrun->GetLinks("Gains");
if (!gain_list) {
return;
}
cout << "--> Setting Gains:" << endl;
Int_t ndets = gain_list->GetSize();
cout << " Setting gains for " << ndets << " detectors : " << endl;
for (int i = 0; i < ndets; i++) {
KVDBParameterSet* dbps = (KVDBParameterSet*) gain_list->At(i);
kvd = fArray->GetDetector(dbps->GetName());
if (kvd) {
kvd->SetGain(dbps->GetParameter(0));
cout << " " << kvd->GetName() << " : G=" << kvd->
GetGain() << endl;
}
else {
Error("SetGains", "le detecteur %s n ext pas present", dbps->GetName());
}
}
}
示例3: ParticleEntersNewVolume
void KVGeoImport::ParticleEntersNewVolume(KVNucleus *)
{
// All detectors crossed by the particle's trajectory are added to the multidetector
// and the groups (KVGroup) of aligned detectors are set up
KVDetector* detector = GetCurrentDetector();
if(!detector) return;
Bool_t group_inconsistency = kFALSE;
if(fCreateArray){
if(!fCurrentGroup){
if(detector->GetGroup()) {
fCurrentGroup=detector->GetGroup();
}
else {
fCurrentGroup = new KVGroup;
fCurrentGroup->SetNumber(++fGroupNumber);
fCurrentGroup->Add(detector);
fArray->Add(fCurrentGroup);
}
}
else
{
KVGroup* det_group = detector->GetGroup();
if(!det_group) {
fCurrentGroup->Add(detector);
}
else {
if(det_group!=fCurrentGroup){
// Warning("ParticleEntersNewVolume",
// "Detector %s : already belongs to %s, now seems to be in %s",
// detector->GetName(), det_group->GetName(),
// fCurrentGroup->GetName());
group_inconsistency = kTRUE;
}
}
}
}
detector->GetNode()->SetName(detector->GetName());
if(fLastDetector && detector!=fLastDetector && !group_inconsistency) {
fLastDetector->GetNode()->AddBehind(detector);
detector->GetNode()->AddInFront(fLastDetector);
}
fLastDetector = detector;
}
示例4: GetDetectorEvent
void KVFAZIA::GetDetectorEvent(KVDetectorEvent* detev, TSeqCollection* signals)
{
// First step in event reconstruction based on current status of detectors in array.
// Fills the given KVDetectorEvent with the list of all groups which have fired.
// i.e. loop over all groups of the array and test whether KVGroup::Fired() returns true or false.
//
// If the list of fired acquisition parameters 'signals' is given, KVMultiDetArray::GetDetectorEvent
// is called
//
if (signals) {
// list of fired acquisition parameters given
TIter next_par(signals);
KVSignal* par = 0;
KVDetector* det = 0;
KVGroup* grp = 0;
while ((par = (KVSignal*)next_par())) {
if (!(par->GetN() > 0))
Info("GetDetectorEvent", "%s empty", par->GetName());
par->DeduceFromName();
if ((det = GetDetector(par->GetDetectorName()))) {
((KVFAZIADetector*)det)->SetSignal(par, par->GetType());
if ((!(((KVFAZIADetector*)det)->GetSignal(par->GetType())->GetN() > 0)))
Warning("Error", "%s %s empty signal is returned", det->GetName(), par->GetType());
if ((grp = det->GetGroup()) && !detev->GetGroups()->FindObject(grp)) {
detev->AddGroup(grp);
}
} else {
Error("GetDetectedEvent", "Unknown detector %s !!!", par->GetDetectorName());
}
}
} else {
KVMultiDetArray::GetDetectorEvent(detev, 0);
}
}
示例5: CheckStatusOfDetectors
//_______________________________________________________________//
void KVINDRAUpDater::CheckStatusOfDetectors(KVDBRun* kvrun)
{
KVRList* absdet = kvrun->GetLinks("Absent Detectors");
KVRList* oooacq = kvrun->GetLinks("OoO ACQPars");
KVRList* ooodet = kvrun->GetLinks("OoO Detectors");
TIter next(fArray->GetDetectors());
KVDetector* det;
KVACQParam* acq;
Int_t ndet_absent = 0;
Int_t ndet_ooo = 0;
Int_t nacq_ooo = 0;
while ((det = (KVDetector*)next())) {
//Test de la presence ou non du detecteur
if (!absdet) {
det->SetPresent();
}
else {
if (absdet->FindObject(det->GetName(), "Absent Detector")) {
det->SetPresent(kFALSE);
ndet_absent += 1;
}
else {
det->SetPresent();
}
}
if (det->IsPresent()) {
//Test du bon fonctionnement ou non du detecteur
if (!ooodet) {
det->SetDetecting();
}
else {
if (ooodet->FindObject(det->GetName(), "OoO Detector")) {
det->SetDetecting(kFALSE);
ndet_ooo += 1;
}
else {
det->SetDetecting();
}
}
//Test du bon fonctionnement ou non des parametres d acquisition
if (det->IsDetecting()) {
TIter next_acq(det->GetACQParamList());
if (!oooacq) {
while ((acq = (KVACQParam*)next_acq())) {
acq->SetWorking();
}
}
else {
Int_t noff = 0;
while ((acq = (KVACQParam*)next_acq())) {
if (oooacq->FindObject(acq->GetName(), "OoO ACQPar")) {
acq->SetWorking(kFALSE);
noff += 1;
nacq_ooo += 1;
}
else {
acq->SetWorking();
}
}
if (noff == 3) {
det->SetDetecting(kFALSE);
ndet_ooo += 1;
nacq_ooo -= 3;
}
}
}
}
}
Info("KVINDRAUpDater", "%d detecteurs absents", ndet_absent);
Info("KVINDRAUpDater", "%d detecteurs ne fonctionnent pas", ndet_ooo);
Info("KVINDRAUpDater", "%d parametres d acquisition ne fonctionnent pas", nacq_ooo);
}